谈到 CI/CD,那便少不了这里面的佼佼者 Jenkins,正如 Jenkins 官网说的同样:“Build great things at any scale”,构建伟大,无所不能!docker
话很少说,该篇文章将会带你使用 Docker 快速建立一个单机版的 Jenkins 实例以及建立一个简单的 Pipeline 项目。浏览器
这里咱们将使用 Docker 进行安装一个单机版的 Jenkins(这里假设你了解 Docker 等工具的使用):bash
docker run -d --name jenkins \
-p 50000:50000 \
-p 8080:8080 \
-v /srv/jenkins:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /usr/bin/docker:/usr/bin/docker \
-u root \
--restart always \
jenkins/jenkins:2.263.4
复制代码
也可使用 DockerCompose 进行安装,建立 docker-compose.yaml
文件并添加如下内容,而后运行 docker-compose up -d
:markdown
version: '3.7'
services:
jenkins:
image: jenkins/jenkins:2.263.4
ports:
- 50000:50000
- 8080:8080
volumes:
- /srv/jenkins:/var/jenkins_home
- /var/run/docker.sock:/var/run/docker.sock
- /usr/bin/docker:/usr/bin/docker
user: root
restart: always
container_name: jenkins
复制代码
解释下这里的一些运行选项:工具
- ports
- 50000:50000 用于集群部署
- 8080:8080 用于浏览器访问
- volumes
- /srv/jenkins:/var/jenkins_home 主要数据目录
- /var/run/docker.sock:/var/run/docker.sock 挂载宿主机的 docker 套接字文件
- /usr/bin/docker:/usr/bin/docker 挂载宿主机的 docker 可执行文件
- user: root 因为 jenkins 容器默认使用的是 jenkins 用户,而我使用的是 root 用户运行的,若是不加,将会由于权限不够没法读写目录 /srv/jenkins,这里固然也有其余办法解决这个问题,好比修改目录 /srv/jenkins 的权限给 jenkins 用户。
这里挂载 docker 相关的文件是为了在执行流水线的时候可使用 docker 环境。oop
访问 http://your_ip:8080 即可以看到下面这个页面:ui
这里须要一个 Administrator password
才能够继续安装,如今咱们回到宿主机执行下面的命令获取它:spa
# docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
dfd97892d82e43f18437ac628908b0b5
复制代码
这里咱们选择安装推荐的插件:插件
接下来即可以看到 Jenkins 在自动帮咱们安装一些插件,包括经常使用的 Git
、Pipeline
等:3d
而后须要建立第一个用户:
最后配置访问的地址,若是没有绑定域名的话,就直接默认便可:
接下来就开始咱们的 CI/CD 之旅吧!
点击 New Item
建立咱们的第一个 Pipeline 项目:
编写 Pipeline 脚本,打印一行 Hello World
:
pipeline {
agent any
stages {
stage('Hello') {
steps {
echo 'Hello World'
}
}
}
}
复制代码
点击 Save
保存,而后点击 Build Now
当即运行,咱们能够看到运行结果以下:
本文主要针对刚接触 CI/CD 以及 Jenkins 的朋友们,介绍了如何基于 Docker 快速建立 Jenkins 实例,建立了一个简单的 Hello World
流水线项目,但愿能帮助你们快速入门 Jenkins!