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 表示长期支持

  1. 创建文件夹 mkdir /var/jenkins_home 用于映射容器中的文件,也是相当于当前容器的jenkins的安装目录

  2. 添加权限 chown -R 1000 /var/jenkins_home 目录的拥有者为root用户,而容器中jenkins用户的 uid 为 1000

  3. 创建和运行容器: 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 相关,实现代码更新,自动构建

  1. Jenkins 系统配置 启用Hook URL

  2. 配置Github项目仓库;进入一个项目仓库,添加 webhook

  3. 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

  1. 安装 jenkins

  2. 安装插件 gitee

  3. 配置 gitee 插件 ;点添加 选择 gitee api 令牌

  1. 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 ..
Last Updated:
Contributors: Warren