プロキシ環境下でのGitLabのCI検証
解決したいこと
かなりふわっとした質問になります。申し訳ありません。
プロキシ環境下で、GitLabにrunnerを登録しCICDの動きを確認したく下記環境下で検証をしておりました。この状態でデフォルトの.gitlab-ci.ymlをプロジェクトにコミットすると、パイプラインが実行できずエラーが発生します。
・virutalbox:ubuntu22.04
・docker-compose.ymlにてgitlabとrunnerを構築(下記)
version: '3.6'
services:
web:
image: 'gitlab/gitlab-ce:latest'
restart: always
hostname: '192.168.1.2'
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://192.168.1.2'
ports:
- '80:80'
- '443:443'
- '22:22'
volumes:
- '$GITLAB_HOME/config:/etc/gitlab'
- '$GITLAB_HOME/logs:/var/log/gitlab'
- '$GITLAB_HOME/data:/var/opt/gitlab'
shm_size: '256m'
gitlab-runner:
image: gitlab/gitlab-runner:latest
restart: always
volumes:
- /srv/gitlab-runner/config:/etc/gitlab-runner
- /var/run/docker.sock:/var/run/docker.sock
(ギットラボのコンテナIPを直打ちで設定しています。
固定IPにしていないのは単なる怠慢です。都度書き換えたりしてます)
・プロキシ環境下で動作できるように
①~/.bashrcにproxyとnoproxyを設定(noproxyはlocalhost,127.0.0.1,192.168.0.0/16)
②sudo systemct edit docker にて同様の設定
③~/.docker/config.jsonにも同様の設定
・firefoxの設定にてnoproxyに上記と同様の設定
発生している問題・エラー
失敗したジョブを確認すると(思い起こして書いているので、若干の省略があります。)
Getting source from repository
fatal: unable to access http://192.168.1.2/test/test.git
The requested URL returned error: 403
ERROR: job failed: exit status 1
関連するか分かりませんが、別のエラーでgit cloneができない状態も発生しております。
下記は失敗しますが、
git clone http://192.168.1.2/test/test.git
localhostに変更すると実行可能です。
git clone http://localhost/test/test.git
またssh関係は全て(clone,pull,push)できない状態です。
→ 鍵の登録は実施済み
→ rsaだけではなくed25519での実施や、ssh-addも実施
自分で試したこと
コードパイプラインのジョブの実行の失敗に対して、
runnerがgitlabのsourceをgit cloneする際に何かしらの問題があり403エラーが発生していると考えております。
そのため.gitlab-ci.ymlに
variables:
GIT_STRATEGY: none
を付け加えたところジョブの実行自体は成功しました。
が、これだとGitLabサーバーから必要なものを取ってきていないと思われるため、根本的な解決にはならないと考えております。
ルーティングの問題でしょうか。
その他
・該当プロジェクトの役割設定を再度振りなおすことも実施(そもそもrootユーザで実験)