Automated Deploymentは、ワークフローとプロセスを合理化します。このGitLabチュートリアルは、GitLab CI/CDを使用して継続的な展開パイプラインをセットアップすることを学ぶのに役立ちます。

gitlab連続展開

概要

最後のいくつかの記事で、バージョン制御の基本について学び、次に、さまざまな分岐モデルとワークフローについて学ぶことで知識を高めました。バージョン制御システムは、開発、展開、統合の世界に効率をもたらしました。開発者は、ビルドやテストを心配することなく、ソースコードを非常に簡単にコミットすることが非常に簡単だと感じています。このアプローチが展開を強化したため、ソフトウェア業界は自信と競争力を獲得しています。 gitlab継続的な展開 および統合は、問題を簡単に見つけるのに役立ちます。さらに、開発者は、バグやその他のミス処理を短時間で追跡できます。この自動化プロセス全体により、頻繁に行われるタスクからの自由が得られ、人材とエラーの可能性が減ります。本日、このブログ投稿では、GitLab CI/CDを使用した継続的な展開パイプラインについて説明します。それでは、次のポイントをカバーして始めましょう!

CIとCDとは何ですか

継続的統合(CI)は、複数の貢献者からのコードの変更の統合を単一のソフトウェアプロジェクトに自動化するDevOpsのベストプラクティスの1つです。これにより、開発者はコードの変更を中央リポジトリに頻繁にマージできます。そこでは、ビルドとテストが実行されます。継続的な展開(CD)は、各コードがコミットして構築された後にターゲット環境(生産またはステージング)にコードを自動的に展開することにより、さらに1つのステップを移動します。 開始する前に、CI/CDを使用したいプロジェクトがGitLabにあることを確認してください。そして、プロジェクトへのメンテナーまたはオーナーレベルのアクセスを持つ必要があります。

Gitlabランナーとは何ですか

gitlabの継続的な展開 を理解した後、Gitlab RunnerはGOで書かれた小さな軽量プログラムで、ローカルマシンで連続統合(CI)関連のジョブを実行し、結果をGitLabに送信して変更を検討します。これは、任意の主要なOSにインストールできる単一の実行可能バイナリです。 GitLab CI / CDを前に進める前に、タスクを実行できるランナーを使用できるようにする必要があります。 インストールおよび登録 GitLabランナーの公式ガイドに従うことができます。

.gitlab-ci.ymlファイル

。gitlab-ci.ymlは、gitlab ci/cdの特定の手順を構成するファイルです。リポジトリのルートに配置され、プロジェクトの構築方法の定義が含まれています。 GitLabインスタンスにコミットをプッシュするたびに、GitLabはランナーを呼び出して、このファイル内で指示されているプロジェクトを構築およびテストします。

サンプルアプリを作成します

この gitlabチュートリアル のセクションでは、サンプルアプリを作成します。既にGitLabリポジトリを作成していると仮定すると、サンプルアプリケーションを作成して、アプリケーション用のCI / CDプロセスを設定します。 まず第一に、プロジェクトのrootでpackage.jsonファイルを作成します

{
  "name": "sample_web_app",
  "version": "1.0.0",
  "description": "Sample Application",
  "author": "Assad",
  "main": "app.js",
  "scripts": {
    "start": "node app.js"
  },
  "dependencies": {
    "express": "^4.16.1"
  }
}

ここで、プロジェクトのルートでapp.jsを作成します

const express = require('express');

const app = express();
app.get('/', (req, res) => {
  res.send('Hello world\n');
});

app.listen(8080, 'localhost');
console.log('Running on http://localhost:8080');

gitlab連続展開の最後のステップでは、a dockerfileを作成し、次の内容を追加します。

FROM node:10

# Create app directory
WORKDIR /usr/src/app

# Install app dependencies
COPY package*.json ./

RUN npm install

# Bundle app source
COPY . .

EXPOSE 8080
CMD [ "node", "app"]

DockerFileには、このアプリのビルドプロセスが含まれています。ノードコンテナの作成と依存関係のインストールが含まれます。 次に、 。gitlab-ci.yml ファイルを作成する必要があります。このファイルには、プロジェクトを構築するための指示が含まれています。 GitLabリポジトリにコミットをプッシュするたびに、GitLabはプロジェクトを構築するためにランナーを呼び出します。

image: node:latest
stages:
- build

install_dependencies:
stage: build
script:
- npm install

ステージビルドが1つだけで、スクリプトとして npmインストール があります。これは、プロジェクトに変更が届くたびに手動で実行する必要があるコマンドです。そして、それがGitlabランナーが入ってくる場所であり、コミットするたびに自動的にこれを行うでしょう。 gitlabランナーを既にインストールしており、gitlabインスタンスに登録していると仮定すると、アプリケーションに簡単にコミットしてgitlabにプッシュすることで、gitlab ci / cdをアクションでテストできます。 その後、プロジェクトをGitLabで開き、My-Project→Pipelineに移動すると、作成したコミットの横に「合格」というタグが表示されます。その後のコミットにはタグもあります。

結論

これにより、この gitlabチュートリアルの終わりになります。この記事では、gitlabの連続統合の基本、 ci&cdgitlabランナー とは何か、および継続的な展開について学びました。さらに、CI / CD全体のワークフローでのランナーの使用を研究しました。また、GitLabを使用して継続的な展開をセットアップする方法を説明するサンプルプロジェクトも作成しました。このgitlabチュートリアルは、 gitlab継続的な展開 を探している場合に本当に役立ちます。ただし、以下の「探索」セクションには、チェックアウトできる他の多くのリソースがあります。さらに、記事は、オープンソース、自己ホスト、および拡張可能なバージョン制御システム についてです。 最後に、containerize.comは、さらなるオープンソース製品とトピックに関するブログ投稿を継続的に執筆しています。したがって、定期的な更新については、バージョン制御ソフトウェアカテゴリに連絡してください。さらに、ソーシャルメディアアカウントFacebookLinkedIn、およびTwitterでフォローできます。

探検

次のリンクが関連する場合があります。