「.gitlab-ci.yml」にジョブを定義することで、開発者が任意のジョブを追加することができます。
例えば、「.gitlab-ci.yml」に、「Container Managementへの配備ジョブ」を追加して、「Dockerイメージのビルドジョブ」でビルドしたイメージをContainer Management上でコンテナとして動作させることができます。
実際に配備ジョブを作成する場合は、「操作ガイド」の「Podの作成(起動)」を参照のうえ、Deployment・Serviceの作成、及び、kubectlコマンドによる配備がジョブ内で行えるように、「.gitlab-ci.yml」内にスクリプトを記述して下さい。
/home/k5user/.kube/config
variables: KUBECONFIG: config
配備ジョブ内でGitLab Container Registryのイメージを使用する場合、CIパイプラインからGitLab Container Registry内のイメージを参照できるようにするために、「操作ガイド」-「Podの作成(起動)」-「GitLab Container RegistryからDockerイメージをプルする方法による配備」の手順を実施してください。
# ステージの追加
stages:
- build
- test
- docker_build
- kube_deploy
# ジョブの追加
kube_deploy:
stage: kube_deploy
image: centos:centos7.4.1708
before_script:
- |-
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOF
- yum install -y kubectl-<本製品で使用されているkubectlのバージョン>.x86_64
script:
- kubectl apply -f ./deployment.yaml
sudo yum list installed | grep kubectl
kubectl.x86_64 1.10.3-0 installed