对于开发者来说,能自动化部署项目,就像解锁了“自动驾驶”。而 Jenkins,就是让你从“手动上传代码、拷贝文件、重启服务”的地狱中解放出来的神器。
Jenkins 是什么?
Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。
Jenkins 支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序。
简单来说,Jenkins 是一个开源的自动化持续集成工具。
它能帮你自动完成:
- 拉取最新代码;
- 自动打包;
- 自动部署到服务器;
- 甚至自动测试、自动通知。
为啥开发者都离不开 Jenkins?
你可以回想一下,每次项目更新你都得:
- 打包;
- 上传服务器;
- 手动部署;
- 启动服务;
- 通知测试。
一天下来,不光浪费时间,还容易出错。
有了 Jenkins,你只需要点一下“构建”,剩下的流程全自动搞定。
这就是 持续集成(CI)+ 持续部署(CD) 的魅力。
本来想一次性讲完使用 Jenkins 从零到发布的整个流程,但是发现篇幅有点儿长了,于是打算分 3 篇来讲,这一篇是 Jenkins 的部署篇,后面两篇将是使用 Jenkins 发布项目篇。感兴趣的小伙伴可以蹲守一下。
安装 Jenkins
为了方便安装,我直接使用 docker 来进行安装 Jenkins。
docker pull jenkins/jenkins:lts-jdk17
docker run -d --name jenkins \
--restart=unless-stopped \
-u root \
-p 8080:8080 \
-p 50000:50000 \
-v /apps/docker_mounts_dir/jenkins/jenkins-data:/var/jenkins_home \
-e TZ=Asia/Shanghai \
-v /etc/localtime:/etc/localtime:ro \
-e JENKINS_UC=https://mirrors.cloud.tencent.com/jenkins/ \
-e JENKINS_UC_DOWNLOAD=https://mirrors.cloud.tencent.com/jenkins/ \
jenkins/jenkins:lts-jdk17注意: 在国内一定要加上 JENKINS_UC 和 JENKINS_UC_DOWNLOAD 参数,不然在 Jenkins 中下载插件会慢到让你怀疑人生……
安装完毕之后,可以通过执行下面的命令来查看 admin 用户的密码
docker logs jenkins
或者可以直接通过以下命令进行查看
docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword访问 Jenkins
然后就可以直接在浏览器中访问 127.0.0.1:8080

安装插件

进入下一个页面之后,不需要选择任何的插件,直接点击「安装」按钮就可以了。

等待插件安装

如果有插件安装失败,那么可以直接重试

直到所有的插件安装成功之后,点击「继续」

然后需要创建一个管理员账号,当然了,不创建也可以,就继续使用 admin 账户登录,但是就得每次记录之前的那个长长的密钥。

这里就根据自己的实际情况进行填写就好了。

根据自己的实际情况去配置 Jenkins URL 就好了,我觉得没有必要配置,就直接选择的默认。
下面 Jenkins 就已经安装成功啦!

现在只能说 Jenkins 已经安装成功了,但是想要使用 Jenkins 来部署项目,我们还得安装以下插件进行配合才可以。
必须要安装的插件
- Git Parameter:拉取源代码分支
- Publish Over SSH:将我们打包好的代码推送到目标服务器上
- AnsiColor:向控制台输出添加 ANSI 颜色(也可以不安装)
我们点击右上角的设置图标

来到插件管理页面

我们需要先在 Available plugins 中搜索 Git Parameter 然后进行安装 Git Parameter 插件

继续安装另外两个插件

当我们将以上插件都安装完毕之后,就代表我们部署项目的准备工作已经做完了。下一章节,我将一步一步告诉你如何通过 Pipeline 来进行自动化部署项目,敬请期待吧~

