GitLab CI/CD
Page content
GitLab CI/CD
1年前くらいにやったやつを書き出していなくて、久しぶりに手を付けて困ったので書き出していこう。 イメージはこんな感じ
GitLab のインストール (余談)
cicd セットアップの前に本体をね。 Amazon EC2 でやってみたときの簡単すぎるメモです。すでに GitLab の環境を持ってる人は気にしないでください。
環境
- instance spec - ap-northeast-2 (= KR) - 標準AMI - disk: 32GB - create - attach Elastic IP
インストール手順
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash sudo yum install gitlab-ce vim /etc/gitlab/gitlab.rb # 書き換えを2点ほど `external_url` を EIP についてる FQDN に書き換え `gitlab_rails['time_zone']` はデフォルトが UTC になっているので、 Asia/Tokyo へ sudo gitlab-ctl reconfigure #-> これで設定反映
web UI から色々セットアップして終了
- root password
- create user/pw
- login as the created user
- update password
- set ssh key
GitLab Runner のインストール
公式手順に沿ってインストール Install GitLab Runner using the official GitLab repositories
リポジトリの cicd pipeline ごとに runner を用意することになる
sudo /usr/local/bin/gitlab-runner register \ --url <gitlab server が指定した URL> \ --registration-token <同じく指定された token> \ --name <runner name> \ --tag-list <任意のtag> \ # 必須ではない? --executor docker \ --docker-image alpine:latest \ # alpine じゃなくても良いかも --non-interactive
Qiita の GitLab RunnerでCI/CDしてみる(前編) も参考になりそう
- project > CI/CD Settings > Environment variables でAWSアカウントの環境変数を持たせるとかが、 secret 系の情報の管理方法になりそう
- AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY
- project > CI/CD Settings > Environment variables でAWSアカウントの環境変数を持たせるとかが、 secret 系の情報の管理方法になりそう
pipeline の定義は
.gitlab-ci.yml
に書く。公式やサンプルアプリケーションなど色々参考にして頑張ってね
動作イメージ