Jenkins的一些其他操作
1、代码仓库Gogs的搭建与配置
Gogs 是一款极易搭建的自助 Git 服务,它的目标在于打造一个最简单、快速和轻松的方式搭建 Git 服务。使用 Go
语言开发的它能够通过独立的二进制进行分发,支持了 Go 语言支持的所有平台,包括 Linux、Mac OS、
Windows 以及 arm 平台。与传统 Git 相比它最大的优势在于拥有图形化界面。
1.1 下载镜像
# 搜索镜像
$ docker search gogs
# 下载镜像
$ docker pull gogs/gogs
1.2 创建Gogs容器
$ docker run -di --name=gogs -p 10022:22 -p 3000:3000 -v /var/gogsdata:/data gogs/gogs
1.3 使用浏览器进行访问
访问路径:http://192.168.160.165:3000
填写相关信息:
此处选择数据库类型为:SQLite3
修改域名为:192.168.160.165
修改应用 URL 为:http://192.168.160.165:3000/
随后点击立即安装,Gogs 安装与配置完成。
注册用户用户名和密码:
然后进行登录:
至此,代码仓库Gogs搭建完成。
2、Gitee API令牌配置
点击创建:
点击系统配置:
配置好信息之后点击测试连接,显示成功代表配置成功。
3、打包Maven项目为Docker镜像并运行
我们在代码仓库https://gitee.com/zsx242030/jenkins_demo.git
中添加 Dockerfile
文件:
FROM java:8
COPY target/*.jar /app.jar
CMD ["--server.port=9999"]
EXPOSE 9999
ENTRYPOINT ["java","-jar","/app.jar"]
和 pom.xml 在同一个目录下。
修改 jenkins 执行脚本:
#!/bin/bash
mvn clean package
docker stop jenkins_demo
docker rm jenkins_demo
docker rmi jenkins_demo
docker build -t jenkins_demo .
docker run -d -p 9999:9999 --name jenkins_demo jenkins_demo:latest
4、Docker安装Jenkins配置Jenkins镜像加速
# 宿主机上
cd /var/jenkins_home
vi hudson.model.UpdateCenter.xml
将url地址改为下面的,不然后面安装jenkins插件很慢 :
<?xml version='1.1' encoding='UTF-8'?>
<sites>
<site>
<id>default</id>
<url>https://updates.jenkins.io/update-center.json</url>
</site>
</sites>
<?xml version='1.1' encoding='UTF-8'?>
<sites>
<site>
<id>default</id>
<url>https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json</url>
</site>
</sites>
# 宿主机上
cd /home/jenkins_home/updates
# 替换url
sed -i 's#https://updates.jenkins.io/download#https://mirrors.huaweicloud.com/jenkins#g' default.json && sed -i 's#http://www.google.com#https://www.baidu.com#g' default.json
再进入插件下载管理页面 http://ip:9090/pluginManager/advanced
,使用
https://cdn.jsdelivr.net/gh/jenkins-zh/update-center-mirror/tsinghua/current/update-center.json
替换原来的json
5、Jenkins容器内部安装python3
5.1 前置准备
# 进入容器
$ docker exec -it 68268e74ba86 /bin/bash
# 获取最新的软件包
$ apt-get update
# 升级已安装的软件包
$ apt-get upgrade
# 提前安装,以便接下来的配置操作
$ apt-get -y install gcc automake autoconf libtool make
$ apt-get -y install make*
$ apt-get -y install zlib*
$ apt-get -y install openssl libssl-dev
$ apt-get install sudo
$ apt-get install wget
5.2 下载python
$ cd /usr/local/src
$ wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tgz
# 或者
$ wget http://npm.taobao.org/mirrors/python/3.9.10/Python-3.9.10.tgz
$ tar -zxvf Python-3.9.10.tgz
$ mv Python-3.9.10 py3.9.10
$ cd py3.9.10
5.3 make编译安装
$ ./configure --prefix=/var/jenkins_home/python3 --with-ssl
$ make
$ make install
5.4 添加软链接
# 添加python3软链接
$ ln -s /var/jenkins_home/python3/bin/python3.9 /usr/bin/python3
# 添加pip3软链接
$ ln -s /var/jenkins_home/python3/bin/pip3 /usr/bin/pip3
5.5 添加环境变量
# 配置环境变量
$ vim /root/.bashrc
# 添加如下内容
export PATH=/var/jenkins_home/python3/bin:$PATH
# 配置文件生效
$ source /root/.bashrc
5.6 测试
$ python3 --version
Python 3.9.10
5.7 python依赖安装
# 首先在python项目的根目录下生成一个requirement.txt文件
$ pip3 freeze > requirements.txt
# 然后将requirement.txt上传到主机,从主机复制到容器内指定位置
$ docker cp requirements.txt jenkins:/usr/local/src
# 最后安装项目所需的第三方库
$ pip3 install -r requirements.txt
$ pip3 install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
# 注意如果你想手动在服务器运行代码,需要指定你的Python环境地址安装库
pip3 install --target=/var/jenkins_home/python3/lib/python3.9/site-packages -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
# 注意: --target指定的是之前创建Python环境的目录,我们需要将库安装在此目录下,因为我们的Python环境使用
# 的是该路径,如果只是执行pip3 install的话,会将库装在全局环境,但我们的Python环境又使用的不是全局环境
# 执行Python代码时会报错,找不到库
# 如果找不到pip3命令执行安装
apt -y install python3-pip
6、安装allure
$ cd /usr/local/src
$ wget https://github.com/allure-framework/allure2/releases/download/2.22.1/allure-2.22.1.zip
# 也可以去https://github.com/allure-framework/allure2/releases下载安装包
# 然后上传到docker容器
$ docker cp allure-commandline-2.13.3.zip jenkins:/usr/local/src
# 解压
$ unzip allure-2.22.1.zip
# 授权
$ mv allure-2.22.1 allure
$ chmod -R 777 allure
# 环境变量配置
$ vim /root/.bashrc
# 添加如下内容
export PATH=/usr/local/src/allure/bin:$PATH
# 配置文件生效
$ source /root/.bashrc
# 验证
$ allure --version
2.22.1
7、全局配置Allure Commandline
7.1 安装Allure插件
安装完之后进行重启。
7.2 配置全局Allure
7.3 项目中进行配置
7.4 查看
运行 jenkins,查看生成的报告。
由于代码中并没有单元测试,所以生成的报告中为0。
8、Jenkins打包前端
安装 NodeJS插件。
在系统设置->全局工具配置中进行插件配置。
在项目中执行打包脚本。
9、Jenkins更改时区
10、钉钉机器人通知
10.1 安装DingTalk插件
10.2 钉钉创建机器人
钉钉群 -> 智能群助手 -> 添加机器人 -> 自定义。
获取到 webhook 的地址:
https://oapi.dingtalk.com/robot/send?access_token=57af98ce4ce5f5w5a66cb829df72c539ere0e8fe65e9093c6a254114ecf555f8
加签:
SEC5d2ad5bd4cea2c4cf6430145472cdd7q8dda5b8bea67a029fbdcbd84f7db7534
10.3 Jenkins中进行钉钉配置
进入系统管理:
点击钉钉,进行如下配置:
点击测试,成功,钉钉中会收到一条消息。
10.4 任务中添加机器人
10.5 运行打包
11、Jenkins打包go程序
安装插件
在系统设置->全局工具配置中进行插件配置
在项目中执行打包脚本。