Maison  >  Article  >  Opération et maintenance  >  Comment configurer l'intégration continue et le déploiement continu (CI/CD) sous Linux

Comment configurer l'intégration continue et le déploiement continu (CI/CD) sous Linux

王林
王林original
2023-07-05 23:13:051366parcourir

Comment configurer l'intégration continue et le déploiement continu (CI/CD) sur Linux

Dans le développement logiciel moderne, l'intégration continue et le déploiement continu (CI/CD) sont devenus une partie essentielle du processus de développement de nombreuses équipes. Ils aident les développeurs à créer, tester et déployer du code rapidement et efficacement. Cet article expliquera comment configurer l'intégration continue et le déploiement continu sur les systèmes Linux, et fournira quelques exemples de code pour aider les lecteurs à mieux comprendre.

  1. Installez les outils et dépendances nécessaires

Tout d'abord, l'installation des outils et dépendances nécessaires sur votre système Linux est la première étape de la configuration du processus CI/CD. Parmi eux, les outils les plus courants sont Git, Docker et Jenkins. Voici les exemples de commandes pour installer ces outils sur les systèmes 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. Créer un référentiel Github

Ensuite, nous devons créer un référentiel sur Github pour stocker notre code. Supposons que notre référentiel de code s'appelle mon-projet. Créez un nouveau référentiel sur Github et clonez-le localement : 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的管理界面。按照屏幕上的指示完成初始设置。

接下来,我们需要安装一些Jenkins插件,以支持Docker和Git集成。在Jenkins的管理界面上,点击“插件管理”,然后选择“可选插件”。搜索并安装以下插件:

  • Git Plugin
  • Docker Plugin
  • Pipeline Plugin
  1. 创建Jenkins Pipeline

在Jenkins管理界面的主页上,点击“新建任务”来创建一个新的Jenkins Pipeline。选择“流水线”项目,并给定一个名称,例如my-pipeline。在“流水线”选项卡中,选择“Pipeline script from SCM”,并填写以下信息:

  • SCM:Git
  • Repository 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 Pipeline。Jenkins将自动克隆代码、构建Docker镜像、运行测试并部署应用程序。

通过访问http://localhost:5000rrreee

    Écrivez et testez le code

    Dans le référentiel local cloné, écrivez et testez votre code. Dans cet exemple, nous utilisons un simple programme Python pour démontrer :

    rrreeerrreee
      🎜Création d'une image Docker🎜🎜🎜L'étape suivante consiste à créer une image Docker afin de conteneuriser l'application et de l'exécuter facilement. sur Déployé dans différents environnements. Créez un fichier nommé Dockerfile dans le référentiel de code et ajoutez le contenu suivant : 🎜rrreee🎜 Ensuite, utilisez la commande suivante pour créer et exécuter l'image Docker : 🎜rrreee
        🎜 Configuration Jenkins🎜🎜🎜Maintenant que nous avons un conteneur Docker fonctionnel, nous devons configurer Jenkins pour créer, tester et déployer automatiquement notre code. Ouvrez votre navigateur et visitez http://localhost:8080 pour ouvrir l'interface de gestion Jenkins. Suivez les instructions à l'écran pour terminer la configuration initiale. 🎜🎜Ensuite, nous devons installer des plugins Jenkins pour prendre en charge l'intégration Docker et Git. Sur l'interface de gestion Jenkins, cliquez sur « Gestion des plug-ins » puis sélectionnez « Plug-ins facultatifs ». Recherchez et installez les plugins suivants : 🎜
    🎜Git Plugin🎜🎜Docker Plugin🎜🎜Pipeline Plugin🎜
    🎜Create Jenkins Pipeline🎜🎜🎜Sur la page d'accueil de l'interface de gestion Jenkins , cliquez sur "Nouvelle tâche" pour créer un nouveau pipeline Jenkins. Sélectionnez le projet Pipeline et donnez-lui un nom, tel que my-pipeline. Dans l'onglet "Pipeline", sélectionnez "Pipeline script from SCM" et renseignez les informations suivantes : 🎜
    🎜SCM : Git 🎜🎜URL du dépôt : https://github.com/your-username/my-project. git🎜🎜Chemin du script : Jenkinsfile🎜
🎜Créez un fichier appelé Jenkinsfile et ajoutez le contenu suivant : 🎜rrreee
    🎜Exécutez Jenkins Pipeline🎜🎜🎜 Enregistrez et soumettez le code et le fichier Jenkins au référentiel Github. Ensuite, revenez à l'interface de gestion Jenkins, cliquez sur la tâche my-pipeline et sélectionnez « Construire maintenant » pour exécuter le pipeline Jenkins. Jenkins clonera automatiquement le code, créera des images Docker, exécutera des tests et déploiera l'application. 🎜🎜En visitant http://localhost:5000, vous devriez pouvoir voir l'application déployée avec succès. 🎜🎜Résumé🎜🎜Grâce aux étapes ci-dessus, nous avons configuré avec succès un processus CI/CD simple sur le système Linux. Lorsque des modifications sont apportées à la base de code, Jenkins créera, testera et déploiera automatiquement l'application. Les outils utilisés dans cet exemple ne sont qu'une combinaison et la configuration réelle peut varier en fonction des besoins spécifiques de votre projet. Cependant, cet exemple peut servir de point de départ pour vous aider à commencer à utiliser l'intégration continue et le déploiement continu pour améliorer l'efficacité du développement. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn