一、前言
Jenkins 是一个开源的自动化服务器,可用于构建、测试和部署项目。它提供了一个可扩展的插件系统,支持多种技术和工具组合,通过自动化减少开发和运维过程中的手动设置,满足了软件开发、持续集成(CI)、持续交付(CD)的需求。
- 独立性:支持构建独立于环境的应用程序,而不依赖于特定的开发环境
- 时效性:通过自动化,Jenkins可以显著缩短软件交付的时间
- 正确性:Jenkins能够确保构建和部署的过程按预期执行,从而减少人为错误。
- 易维护:提供了可配置的构建流水线,让维护变得更加简单,同时也能灵活调整项目的需求变化。
- 版本控制:Jenkins集成了版本控制系统,与代码仓库协同工作,支持多种版本控制工具,如 Git、SVN 等。
- 社区支持:作为一款开源工具,Jenkins拥有庞大的社区支持,用户可以通过社区获取帮助、分享经验。
二、安装Jenkins,以Ubuntu系统为例
注:Jenkins项目地址 https://github.com/jenkinsci/jenkins
1.打开终端,更新包列表
2.安装Java Development Kit
1
| sudo apt install default-jdk
|
3.添加Jenkins GPG密钥
1
| wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
|
4.将Jenkins存储库添加到APT包管理器列表中
1
| sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
|
5.更新包列表并安装Jenkins
1 2
| sudo apt update sudo apt install jenkins
|
6.启动Jenkins服务
1 2 3 4 5 6 7 8 9 10 11
| sudo systemctl start jenkins
sudo systemctl status jenkins
sudo ufw allow 8080
sudo ufw status
|
1 2
| sudo cat /var/lib/jenkins/secrets/initialAdminPassword
|
![cha1](https://cdn.jsdelivr.net/gh/huixing404/image/test/Jenkins1.png)
三、Jenkins基本设置
1.登录Jenkins控制台,点击Install suggested plugins选项
![cha2](https://cdn.jsdelivr.net/gh/huixing404/image/test/Jenkins2.png)
2.安装完成后,系统将提示设置管理账户
![cha3](https://cdn.jsdelivr.net/gh/huixing404/image/test/Jenkins3.png)
3.按照要求,填写用户名、密码和邮箱即可
![cha4](https://cdn.jsdelivr.net/gh/huixing404/image/test/Jenkins4.png)
4.配置实例,设置服务器的IP地址
![cha5](https://cdn.jsdelivr.net/gh/huixing404/image/test/Jenkins5.png)
5.一切设置完成后,点击Start using Jenkins,即大功告成
![cha6](https://cdn.jsdelivr.net/gh/huixing404/image/test/Jenkins6.png)
四、安装SSH插件
1.点击Dashboard → Manage Jenkins → Plugins页面
![cha7](https://cdn.jsdelivr.net/gh/huixing404/image/test/Jenkins7.png)
2.选择插件安装
![cha8](https://cdn.jsdelivr.net/gh/huixing404/image/test/Jenkins8.png)
3.安装完成后重启Jenkins即可
![cha9](https://cdn.jsdelivr.net/gh/huixing404/image/test/Jenkins9.png)
五、安装Node.js和Git
按照上面步骤,点击Dashboard → Manage Jenkins → Global Tool Configuration → “Add NodeJS”和”Add Git”即可。
1 2 3
| echo "Node.js version: $(node --version)" echo "Git version: $(git --version)"
|