「.gitlab-ci.yml」にジョブを定義することで、開発者が任意のジョブを追加することができます。
例えば、「.gitlab-ci.yml」に、「Container Managementへの配備ジョブ」を追加して、「Dockerイメージのビルドジョブ」でビルドしたイメージをContainer Management上でコンテナとして動作させることができます。
実際に配備ジョブを作成する場合は、Deployment・Serviceの作成、及び、kubectlコマンドによる配備がジョブ内で行えるように、「.gitlab-ci.yml」内にスクリプトを記述して下さい。
/home/k5user/.kube/config
注)マルチクラウド仕様では、AnsibleサーバーをKubernetes masterサーバーに読み替えてください。
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