従来のソフトウェア開発では、コードの統合は通常、全員が作業を終えた後のプロジェクト終了間際に行われ、多くの時間と労力がかかっていました。継続的インテグレーションは、コードのビルド、テスト、統合をより定期的に行うために、統合フェーズをソフトウェア開発フェーズに置くプラクティスです。
「継続的インテグレーションはバグをなくすのではなく、バグを非常に見つけやすくし、修正しやすくするものです。
継続的インテグレーションによって、開発者が新しいコードをコミットするとすぐに、ビルド、ユニットテスト、テストが可能になります。そこからテスト結果を使用して、新しいコードや環境設定が元のコードや他の開発者のコードや環境設定と正しく統合されるかどうかを判断することができます。
GitLab CIはすでにGitLabに統合されているので、プロジェクトに.gitlab-ci.ymlファイルを追加し、継続的インテグレーション用のRunnerを追加するだけです。また、GitLabがアップグレードされるにつれて、GitLabはますます強力になっていきます。
CI
docs.gitlab.com/runner/inst...CI操作にはGitLab Runnerのインストールが必要で、上記のリンク先には様々なインストール方法が紹介されていますが、この記事ではdockerによるインストール方法を紹介します。
docker pull gitlab/gitlab-runner:latest
docker run -d --name gitlab-runner --restart always
-v /var/run/docker.sock:/var/run/docker.sock
-v /srv/gitlab-runner/config:/etc/gitlab-runner
gitlab/gitlab-runner:latest
docker exec gitlab-runner -it bash
javaとmavenをインストールしてください。
コンテナ内にJavaとMavenをインストール
wget https://..///-/---..gz
wget https://....///-/..//--..-..gz
tar -zxvf jdk-8u201-linux-x64.tar.gz mv jdk1.8.0_201
tar -xvf apache-maven-3.6.3-bin.tar.gz
環境変数の設定
vim /etc/profile
export JAVA_HOME=/opt/jdk1.8.0_201
export MAVEN_HOME=/opt/apache-maven-3.6.3
export PATH=${JAVA_HOME}/bin:${MAVEN_HOME}/bin:${PATH}
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
システム設定ファイルの再読み込み: source /etc/profile
プロジェクトのCI利用方法
.gitlab-ci.ymlファイルはプロジェクトのリポジトリのルートディレクトリに保存され、GitLab CI/CDのPipelineを定義するために使われます。これは本当にただの設定ファイルで、理解するのはとても簡単ですが、Pipelineの概念と.gitlab-ci.ymlファイルの設定方法を理解する必要があります。
プロジェクトの .gitlab-ci.yml ファイルを以下の内容で作成します。
build:
script: "pwd && mvn install"
パーミッション拒否のプロンプトが表示されたり、mvnコマンドのプロンプトが表示されたりする場合は、自分で作成したディレクトリにmavenをインストールしており、インストールパスに問題があることが原因です。/etc/gitlab-runner/config.toml
主な理由は、gitlab-runnerの設定ファイル.gitlab-ci.ymlスクリプトスクリプトの実行では、ユーザーが唯一の/ホーム/ gitlab-runnerフォルダ物事の下にアクセスすることができますgitlab-runnerであるため、他の場所は、いくつかのコマンドを実行する場合は、ソリューション内のdockerを変更することができます!
vi /etc/gitlab-runner/config.toml
## コンテンツを追加する
[runners.docker]
tls_verify = false
image = "latest"
privileged = true
disable_cache = false
volumes = ["/cache"]
CIランナーを実行するためのGitLabの設定
gitlab-ci-multi-runner register
プロンプトに従って、2番目と3番目の項目のurlとtokenを入力します。
セットアップの成功が確認できます。