jenkins
Ubuntu 安装
参考官网 https://www.jenkins.io/doc/book/installing/linux/#debianubuntu
# 第一步安装 JDK 按照官网步骤安装即可 注意查看安装的版本
sudo apt update
sudo apt install openjdk-11-jre
java -version
# 执行
curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo tee \
/usr/share/keyrings/jenkins-keyring.asc > /dev/null
# 执行
echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] \
https://pkg.jenkins.io/debian-stable binary/ | sudo tee \
/etc/apt/sources.list.d/jenkins.list > /dev/null
# 执行
sudo apt-get update
# 执行
sudo apt-get install jenkins #卸载用 sudo apt-get remove jenkins (--purge 表示配置文件一起删)
#启动时启动 Jenkins service
sudo systemctl enable jenkins
#启动 Jenkins service
sudo systemctl start jenkins
#查看状态
sudo systemctl status jenkins
cnetos下 docker 安装 Jenkins
先下载镜像 docker pull jenkins/jenkins
推荐这个库 jenkins/jenkins 官方维护; jenkins/jenkins:lts 表示长期支持
创建文件夹
mkdir /var/jenkins_home
用于映射容器中的文件,也是相当于当前容器的jenkins的安装目录添加权限
chown -R 1000 /var/jenkins_home
目录的拥有者为root用户,而容器中jenkins用户的 uid 为 1000创建和运行容器:
docker run -d --name containerName -p 2014:8080 -p 2015:50000 -v /var/jenkins_home:/var/jenkins_home jenkins/jenkins:latest
容器的 8080 和 50000 端口是固定的 映射的 容器地址也是固定的
浏览器进入 2014端口 ; 如果是虚拟机, ip是 docker的ip; 有些虚拟机可以直接用,虚拟机的 ip (enp0s3 中的 IP)
jenkins 插件下载慢处理
1. 先查找 jenkins 的安装目录下的 default.json 文件 不知道安装目录可以用 `find / -name default.json` 查找 一般在 /var/jenkins_home/updates/default.json
2. 替换文件中的内容,可以用命令
`sed -i 's/www.google.com/www.baidu.com/g' default.json`
`sed -i 's/updates.jenkins-ci.org\/download/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json`
3. 重启 jenkins ( 在浏览器 ip地址后加restart 跳转点击重启 )
或者是在页面中点击 插件管理 => 高级 最下面的url 源切换 https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
- 下载 jenkins 插件
# docker exec -it jenkins-tutorials bash
# cd /var/jenkins_home/war/WEB-INF/detached-plugins
# wget http://ftp.icm.edu.pl/packages/jenkins/plugins/cloudbees-folder/6.9/cloudbees-folder.hpi
注意更换版本,在此查看 http://ftp.icm.edu.pl/packages/jenkins/plugins/cloudbees-folder/latest/cloudbees-folder.hpi
登录安装好的 Jenkins 系统
按照提示输入密钥
可以不选任何插件 直接进入 后续需要再安装
创建账号密码
- 创建用户 Dashboard -> Manage Jekins -> Manage Users (往下滑) -> Create User (左侧)
配置 github 相关,实现代码更新,自动构建
Jenkins 系统配置 启用Hook URL
配置Github项目仓库;进入一个项目仓库,添加 webhook
Jenkins 配置 github
具体的操作请网上搜索参考
- SSH Publishers 配置
全局配置:
Passphrase: 远程服务器的密码
Hostname:远程服务器的ip地址
Username: 远程服务器的账号名
Remote Directory:要将文件发送到的远程服务器的目录
构建后操作 -> Send build artifacts over SSH
Source files:源文件地址,地址的目录是相对于jenkins workspace的目录,如果只需要执行命令不需要传输文件的时候,此处可以为空,最好是一个打包后的文件
插件配置处,配置了具体的地址,这里的 Remote 相关的可以不填
Exec command 在目标机器上执行的命令 要先进入目标文件 如下示例:
cd /home/cicd/nginx/html/
tar -zxvf package.tar.gz
rm -rf package.tar.gz
gitee
安装 jenkins
安装插件 gitee
配置 gitee 插件 ;点添加 选择 gitee api 令牌
- gitee 创建仓库
webhooks 需要域名或公共 ip
Jenkins 的两个映射文件 /var/jenkins_home 和 /var/jenkins_home_gitee/
Nginx 的映射文件 /home/cicd/nginx/
安装 nodeJs 插件: 在 centos 上安装,再将安装地址 配置到Jenkins中
构建 shell
npm install --registry=https://registry.npm.taobao.org
npm run build
cd dist
tar -zcvf dist.tar.gz *
mv dist.tar.gz ..