容器本文我将将深入研究 Jenkins 自由风格项目,并探索在 DevOps 中如何利用它们来自动化 CI/CD 流程。我们还将了解 CI/CD、构建作业和自由风格项目的概念。
CI/CD 表示持续集成和持续交付(部署)。它时一组旨在自动化和简化软件开发声明周期的实践。CI 专注于频繁合并代码更改以及自动化构建和测试流程以今早发现问题。CD 将此进一步扩展,将应用程序自动交付或部署到各种环境中。
在 Jenkins,构建作业代表构建过程的单次执行。它包括编译代码、运行测试和打包应用程序等任务。构建作业在 CI/CD 管道中发挥着至关重要的作用,因为它们确保每个代码更改都得到一致的验证、测试和构建。
自由风格项目式 Jenkins 中灵活且可定制的项目类型。它们提供了一种简单直观的方法来配置和自动化复杂的构建过程。对于自由风格项目,我们可以根据项目的要求自由定义构建步骤、配置触发器并设置构建后操作。
下来,我们就来完成以下几个实践,加深对以上概念的了解。
root@huang-ubuntu:~# sudo usermod -aG docker jenkins
root@huang-ubuntu:~# id jenkins
uid=108(jenkins) gid=112(jenkins) groups=112(jenkins),999(docker)
image.png
image.png
cd /var/lib/jenkins/workspace/devops-case1
docker build . -t dockerapp:latest
echo "Image created"
cd /var/lib/jenkins/workspace/devops-case1
docker run -d -p 3000:3000 dockerapp:latest
echo "Container is created and running"
image.png
image.png
root@huang-ubuntu:~# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f3a746a620eb dockerapp:latest "python ./app.py" 6 minutes ago Up 6 minutes 0.0.0.0:3000->3000/tcp, :::3000->3000/tcp pensive_gauss
image.png
docekr compose up -d
以启动 Dcoker Compose 文件中定义的多个容器。image.png
root@huang-ubuntu:~# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
57bd028bb973 nginx:latest "/docker-entrypoint.…" About a minute ago Up About a minute 0.0.0.0:80->80/tcp, :::80->80/tcp devops-case2-web-1
成功运行 ngxin 容器:
本文到此结束,相信我们可以学会如何创建 Jenkins 自由风格式的项目,并使用 Docker 和 Docker Compose 自动化构建和部署应用程序。