https://docs.gitlab.com/omnibus/docker/
ただし、一部自分が使いやすいようにコマンドを改変しています。
(自動起動しないように –restart always を外したり ssh を公開しなかったり、など)
また、SELinux は無効になっていて、Docker はすでに稼働しているものとします。
コンテナを起動
docker run --detach \
--hostname gitlab.yskw.info \
--publish 443:443 --publish 80:80 \
--name gitlab \
--volume /srv/gitlab/config:/etc/gitlab \
--volume /srv/gitlab/logs:/var/log/gitlab \
--volume /srv/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest
gitlab へのアクセスを Docker ネットワーク経由で行いたい場合は起動したコンテナの IP を調べておく
docker inspect gitlab | jq -r '.[].NetworkSettings.IPAddress'
設定を変更
外部からアクセスできるように、GitLab の設定を変更。
docker exec -it gitlab vi /etc/gitlab/gitlab.rb
L.13 external_url をこんな感じに (Docker ネットワーク経由の場合)
external_url 'http://172.17.0.2/'
docker restart gitlab
ここから GitLab Runner
https://docs.gitlab.com/runner/install/docker.html
イメージの取得
docker pull gitlab/gitlab-runner
起動
docker run -d --name gitlab-runner \
-v /srv/gitlab-runner/config:/etc/gitlab-runner \
-v /var/run/docker.sock:/var/run/docker.sock \
gitlab/gitlab-runner:latest
GitLab に Runner を登録する
docker run --rm -t -i -v /srv/gitlab-runner/config:/etc/gitlab-runner \
--name gitlab-runner-tmp gitlab/gitlab-runner register
Runner の再起動
docker restart gitlab-runner
Runner コンテナに awscli を導入
docker exec -it gitlab-runner /bin/bash
apt update
apt install python3 python3-pip
pip3 install awscli
aws 認証情報の設定
docker exec -it gitlab-runner /bin/bash
su - gitlab-runner
aws configure
.gitlab-ci.yml のリファレンス
http://localhost/help/ci/yaml/README.md