jenkins安装和基本使用
参考:https://zhuanlan.zhihu.com/p/56037782(安装)
https://gitee.com/oschina/Gitee-Jenkins-Plugin/(使用)
https://www.jianshu.com/p/bc2a2e537904
tip:1.之前根据参考链接一直卡在安装推荐插件那边,花了好一会各种尝试(换镜像源,各种打勾下载插件重启等),最后干脆直接卸了安装最新版试试,没想到直接一步成功!
2.执行到最后一直执行不成功,最后发现下错java版本号了,下的是arm64版本
安装步骤:注意开启阿里云对应端口号
- 安装推荐插件
docker pull jenkins/jenkins:latest(lts长期支持版) docker run -d --name jenkins -p 8080:8080 -p 50000:50000 -v /usr/local/jenkins/workspace/:/root/.jenkins/workspace jenkins/jenkins:latest
- 然后把下载好的maven3.9.6和jdk1.8放到/usr/local/jenkins/workspace里
- 执行docker logs 【容器id】查看第一次启动的密钥,输入密钥
- 输入用户名和密码,一路保存(我先设置的是admin)
- 系统设置-插件管理-安装插件(你的gitee账号和密码)
- 全局设置-系统设置-新增ssh server(如下图)
-
配置 系统设置-全局工具设置(如图)
-
安装插件Gitee Plugin
-
系统设置-全局设置-gitee配置
配置第一个任务步骤:
如下图
gitee配置推送自动触发jenkins任务,如下图
远程服务器执行脚本代码如下
source /etc/profile
cd /www/xxxx-exhibition/
BUILD_ID=DONTKILLME
nohup bash /www/xxxx-exhibition/step.sh > step.log 2>&1
我的step.sh脚本是这样写的
#!/bin/sh
docker stop java8-container
docker rm java8-container
docker rmi java8-image
docker build -t java8-image .
docker run -dit -p 12002:12002 -v /www/xxxx-exhibition/log:/app/log/xxxx-exhibition --name java8-container --restart=always java8-image
我的Dockerfile是这样写的
FROM openjdk:8-slim
WORKDIR /app
EXPOSE 12002
COPY target/exhibition-1.0-SNAPSHOT.jar /app
#exhibition-1.0-SNAPSHOT.jar
CMD ["java", "-jar", "exhibition-1.0-SNAPSHOT.jar"]
然后我来配置gradle相关配置如下
高级设置可以设置镜像源,推荐如下
http://mirror.esuni.jp/jenkins/updates/update-center.json;
http://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
插件列表
https://updates.jenkins-ci.org/download/plugins/
后续:
搞了一天的使用jenkins打包后推送到远程服务器再执行上面的脚本一直没有成功,一开始就输出个打印到log发现有的,然后加上了运行docker发现没有执行,
百度了很多一开始以为是jenkins远程执行一下我的脚本就断开不执行了,然后在最后尝试再打印一波,发现最后还是能打印的排除后面没有执行的可能,
然后怀疑是不是docker在脚本中不是环境变量,各种尝试将脚本执行的结果输出到一个txt上,发现没有成功输出,然后打印$HOME发现是/root,这个目录
里面存放的才是我刚刚尝试输出的txt,所以我就再输出次看到他找不到我的jar包文件,发现原来jenkins在执行远程文件时默认进的是这个root目录,
我就在配置那边添加了cd到我的项目目录再执行这样就可以了。