こんにちは
私は最近、UX 管理チームのニーズに合うかどうかを判断するために gitlab を使い始めました。
次のように、テスト用にクラウド上に 3 つのサーバーを作成しました。
Server_1 Gitlab および Gitlab-CI
Server_2 Gitlab ランナー
Server_3 スクリプト リポジトリ
アイデアは、以前のスクリプト リポジトリを Gitlab にプッシュし、それらに加えられた変更とセキュリティの問題を制御することでした。
サーバー 1 に Gitlab-Omnibus をインストールし、彼のプロジェクト Testproject1 でユーザー「test1」を作成した後、いくつかのテスト スクリプトをプロジェクトにプッシュします。この後、Server_2にランナーをインストールし、Gitlabに対して構成し、ランナーを作成して登録し、Server3に対してsshキーを構成しました
ここでの問題は次のとおりです。ユーザー test1 が Gitlab の Testproject1 のスクリプトに変更を加えると、ランナーがトリガーされ、プロジェクト全体がビルドされ、プロジェクト全体が /home/user/build/"number"/number/Testproject1/ にプッシュされます。これらを実行するスクリプトアクションは、「Testproject1.sh」という名前のその場所にあり、次のようなコードが含まれています。
if [[ -d $'builds/6461cd4f/0/test1/Testproject1/.git' ]]; then
echo $'\x1b[32;1mFetching changes...\x1b[0;m'
cd $'builds/6461cd4f/0/test1/Testproject1'
..... 等々。
リポジトリをユーザーの自宅にデプロイしたくありません。ファイル「.gitlab-ci.yml」を目的のデプロイパスとコマンドで構成するだけで十分だと思いましたが、それで達成できる唯一のことは、リポジトリがユーザーのホームと .yml ファイルに記載されているパスに毎回デプロイされます。
この動作を変更する方法を知っている人はいますか? 環境変数またはこれをコールドフィックスするものはありますか? または、この CI 機能を間違って使用していますか?
ちなみに、ランナーの yml ファイルは次のとおりです。
job:
script:
- cd /opt/gitlab/aplicacion1
- git init .
- git add .
- git pull origin master
- pwd
- ls -ltra
tags:
- master
前もって感謝します