关于jenkins的使用的一些问题

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 *

就可以了


作者:spike

分类: Tool

创作时间:2024-05-24

更新时间:2024-05-24

联系方式放在中括号之中例如[[email protected]],回复评论在开头加上标号例如:#1