ubuntu20安装jenkins
sudo apt-get install -y openjdk-8-jdk
# 将存储库密钥添加到系统
wget -q -O - https://pkg.jenkins.io/debian/jenkins-ci.org.key | sudo apt-key add -
echo deb http://pkg.jenkins.io/debian-stable binary/ | sudo tee /etc/apt/sources.list.d/jenkins.list
sudo apt-get update
sudo apt-get install -y jenkins
服务器是在国内的,无法访问jenkins.io,所以直接从清华的镜像站下载deb包安装
sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' /var/lib/jenkins/updates/default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' /var/lib/jenkins/updates/default.json
直接使用dpkg安装
#先安装deamon,我的报错了,缺少这个插件造成的
sudo apt-get install deamon
dpkg -i jenkins_2.261_all.deb
jenkins 安装目录
/var/lib/jenkins
启动
systemctl daemon-reload
systemctl start jenkins
systemctl stop jenkins
systemctl restart jenkins
版本升级
https://segmentfault.com/a/1190000022109648
Jenkins 版本更新升级
下载提示的 jenkins.war 包,上传到服务器 查看 jenkins.war 的目录,比如是:/usr/share/jenkins/jenkins.war,可用如下命令查看:
ps aux | grep jenkins 备份初始的 jenkins.war 包:cp /usr/share/jenkins/jenkins.war jenkins.war.bak 停止服务:/etc/init.d/jenkins stop 替换新的 war 包后,启动服务:/etc/init.d/jenkins start
netcore的发布脚本
cd /data/jenkins/workspace/net-dev
#web项目 Debug 模式
dotnet publish ./xxxxxx.csproj -c Debug -o ./webdocker/webpublish
docker build -f ./Web.Dockerfile -t xxxxweb ./webdocker
docker tag jmbcoreweb dockerip.com/netcore/xxxxweb:$tagbak
docker push dockerip.com/netcore/xxxxweb:$tagbak
docker rmi dockerip.com/netcore/xxxxweb:$tagbak
配置docker推送到k8s
首先jenkins得登录docker
docker login --username=xxxxxxx 地址 -p 密码
已经提前安装好了Netcore的运行环境
在jenkins中配置shell命令
dotnet publish .\XXXXX\XXXXXX.Web.csproj -c Debug -o publish
docker build -t XXXXX .
docker tag XXXXXX XXXXXXXX.XXXXX/netcore/XXXXXXXX:0.0.1
docker push XXXX.XXXX/XXXXX/XXXXXX:0.0.1
docker rmi $(docker images | grep 'XXXXXXX')
curl -X PATCH \
-H "content-type: application/strategic-merge-patch+json" \
-H "Authorization:Bearer XXXXXXXXXXX" \
-d '{"spec":{"template":{"spec":{"containers":[{"name":"XXXXXX","image":"XXXXX/XXXXXX/XXXXXXXX:0.0.1"}]}}}}' \
"http://XX.XX.XX.XX:XXXX/k8s-api/apis/apps/v1/namespaces/XXXXXXXX/deployments/XXXXXXX"
问题
jenkins 无法添加 Credentials
在新加job的时候,无法添加 Credentials,这个似乎是jenkins自己的问题
查找一下网上的资料
Jenkins的git插件无法添加密钥 使用Jenkins的git拉取代码时需要添加密钥进行身份验证,遇到的问题是在输入密钥信息后在GT的 credentia一栏中无法显示,但密钥可以在Jenkins的credential中查看到。经过各种尝试后发现, Jenkins:安装的git相关插件版本太高,当前Jenkins)版本不支持当前git,重新安装低版本的git后,就 愉快的使用Jenkins的git插件拉取代码了。
[https://www.cnblogs.com/baroque/p/14990953.html](https://www.cnblogs.com/baroque/p/14990953.html
https://juejin.cn/post/6844903992833605640
找了很多帖子都是可以的,为什么我就不行?感觉直接不用这个Credentials了,直接用git本身的private key,这个项可以直接不选。
把 ~/.ssh/ 下面的文件都复制到 /var/lib/jenkins/.ssh/ 下,然后在这个目录下
chmod 777 *
就可以了