LoginSignup
hirunesuki
@hirunesuki

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

プロキシ環境下での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ユーザで実験)

0

No Answers yet.

Your answer might help someone💌