ホームページ >運用・保守 >Linuxの運用と保守 >Linux で継続的インテグレーションと継続的デプロイ (CI/CD) を構成する方法

Linux で継続的インテグレーションと継続的デプロイ (CI/CD) を構成する方法

王林
王林オリジナル
2023-07-05 23:13:051419ブラウズ

Linux で継続的インテグレーションと継続的デプロイメント (CI/CD) を構成する方法

現代のソフトウェア開発では、継続的インテグレーションと継続的デプロイメント (CI/CD) が多くのチームの開発プロセスで不可欠になっています。一部の。これらは、開発者がコードを迅速かつ効率的に構築、テスト、展開するのに役立ちます。この記事では、Linux システム上で継続的統合と継続的デプロイメントを構成する方法を紹介し、読者の理解を深めるためにいくつかのコード例を示します。

  1. 必要なツールと依存関係をインストールする

まず、必要なツールと依存関係を Linux システムにインストールすることが、CI/CD プロセスを構成する最初のステップです。その中で、最も一般的なツールは Git、Docker、Jenkins です。これらのツールを Ubuntu システムにインストールするためのサンプル コマンドを次に示します。

# 安装Git
sudo apt update
sudo apt install git

# 安装Docker
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

# 安装Jenkins
wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt update
sudo apt install jenkins
  1. Github リポジトリの作成

次に、コードを保存するために Github にリポジトリを作成する必要があります。 。コード リポジトリの名前が my-project であるとします。 Github で新しいリポジトリを作成し、ローカルにクローンを作成します。

git clone https://github.com/your-username/my-project.git
  1. コードを作成してテストします

クローンされたローカル リポジトリで、コードを作成してテストします。この例では、単純な Python プログラムを使用してデモを行います。

# app.py
def hello_world():
    return "Hello, World!"

print(hello_world())
# 运行测试
python app.py
  1. Docker イメージの作成

次のステップでは、アプリケーションをコンテナ化するための Docker イメージを作成します。さまざまな環境に簡単に導入できます。コード リポジトリに Dockerfile という名前のファイルを作成し、次の内容を追加します:

# 基于Python的Docker镜像
FROM python:3.8

# 复制代码到容器中
COPY app.py /app/app.py

# 设置工作目录
WORKDIR /app

# 安装依赖项
RUN pip install flask

# 暴露端口
EXPOSE 5000

# 运行应用程序
CMD [ "python", "app.py" ]

次に、次のコマンドを使用して Docker イメージをビルドして実行します:

# 构建Docker镜像
docker build -t my-app .

# 运行Docker容器
docker run -p 5000:5000 my-app
  1. Jenkins の構成

Docker コンテナーが動作するようになったので、コードを自動的にビルド、テスト、デプロイするように Jenkins を構成する必要があります。ブラウザを開いて http://localhost:8080 にアクセスし、Jenkins 管理インターフェイスを開きます。画面上の指示に従って初期セットアップを完了します。

次に、Docker と Git の統合をサポートするために、いくつかの Jenkins プラグインをインストールする必要があります。 Jenkins 管理インターフェイスで、[プラグイン管理] をクリックし、[オプションのプラグイン] を選択します。次のプラグインを検索してインストールします:

  • Git プラグイン
  • Docker プラグイン
  • パイプライン プラグイン
  1. Jenkins パイプラインの作成

Jenkins 管理インターフェイスのホームページで、[新しいタスク] をクリックして新しい Jenkins パイプラインを作成します。 Pipeline プロジェクトを選択し、my-pipeline などの名前を付けます。 [パイプライン] タブで、[SCM からのパイプライン スクリプト] を選択し、次の情報を入力します:

  • SCM: Git
  • リポジトリ URL: https://github.com/ your-username/my-project.git
  • Script Path:Jenkinsfile

Jenkinsfile という名前のファイルを作成し、次の内容を追加します:

pipeline {
    agent any

    stages {
        stage('Build') {
            steps {
                sh "docker build -t my-app ."
            }
        }
        stage('Test') {
            steps {
                sh "docker run my-app python app.py"
            }
        }
        stage('Deploy') {
            steps {
                sh "docker run -d -p 5000:5000 my-app"
            }
        }
    }
}
  1. Jenkins Pipeline の実行

コードと Jenkinsfile を保存し、Github リポジトリに送信します。次に、Jenkins 管理インターフェイスに戻り、my-pipeline タスクをクリックし、[今すぐビルド] を選択して Jenkins パイプラインを実行します。 Jenkins は自動的にコードのクローンを作成し、Docker イメージを構築し、テストを実行してアプリケーションをデプロイします。

http://localhost:5000 にアクセスすると、正常にデプロイされたアプリケーションを確認できるはずです。

概要

上記の手順により、Linux システム上で単純な CI/CD プロセスを正常に構成できました。コード ベースに変更が加えられると、Jenkins はアプリケーションを自動的にビルド、テスト、デプロイします。この例で使用されているツールは 1 つの組み合わせにすぎず、実際の構成はプロジェクトの特定のニーズに応じて異なる場合があります。ただし、この例は、継続的インテグレーションと継続的デプロイメントの使用を開始して開発効率を向上させるための出発点として使用できます。

以上がLinux で継続的インテグレーションと継続的デプロイ (CI/CD) を構成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。