cenos7 下 docker -----> Jenkins 私钥配置 git (避坑指南)

git (避坑指南)很重要

一、 方便将在宿主机上对文件的修改同步到容器内 以及持久化数据

bash 复制代码
mkdir -p /usr/local/jenkins_home
chmod 777 /usr/local/jenkins_home

一定要 授权哦,要不然 等下会 建立容器后无法自动

二、 关键成败的一步

bash 复制代码
docker run -d -uroot -p 8081:8080 -p 50000:50000 --name jenkins -v /usr/local/jenkins_home:/var/jenkins_home -v /etc/localtime:/etc/localtime jenkins/jenkins:lts

ps:-uroot 这一定要加!!!很关键

名词解释:

-d 后台方式启动

-p 映射端口,宿主机端口:容器内端口

-v 挂载卷,将容器Jenkins工作目录/var/jenkins_home挂载到宿主机目录/usr/local/jenkins

-name 给容器起个名

jenkins/jenkins:lts -- 这个是 images 名称

第三、建 ssh-keygen

  1. 使用 docker ps 查看是否已启动 (没看到 容器id 的可以 通过 docker logs jenkins 查看日志 排查原因
  2. 使用 docker exec -it -uroot <container_id> bash 进入 容器
  3. ssh-keygen -t ed25519 -C "jenkins@docker.com" 或者ssh-keygen -t rsa -C "jenkins@docker.com" 或者ssh-keygen -t rsa -b 4096 -C "jenkins@docker.com" 生成 密钥
  4. 提取所生成的私钥与公钥
bash 复制代码
cat /root/.ssh/id_rsa 
cat /root/.ssh/id_rsa.pub
  1. 将 公钥 复制,并贴到 github.com/你自己的git/你的项...
  1. 将私钥 贴到 Jenkins 对应凭证 页面,如下图:

私钥 一定要包含 -----BEGIN OPENSSH PRIVATE KEY----- 与 -----END OPENSSH PRIVATE KEY----- 如:

vbnet 复制代码
-----BEGIN OPENSSH PRIVATE KEY-----

b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW

AAAEA84l5fiN6hcU10eHHSrD7lpftSh3r4MWhwbxcSSwgFEUcTeLRt6D96SRQzt1+dsygA

F2QlW8WXpXtL0ogZcmJOAAAAEmplbmtpbnNAZG9ja2VyLmNvbQECAw==

-----END OPENSSH PRIVATE KEY-----

三、 关闭 git 的安全验证

进入 http://服务器IP.com:端口/manage/configureSecurity/

四、验证时刻到了

  1. 在 Jenkins 首页,新建一个 自由风格的软件项目

2.在项目里面,点击 源码管理,填写 git仓库地址,以及 上述设置的 凭证 后点击 保存,看图:

  1. 在首页或者项目页面,点击 立即构建,可以通过点击构建历史,查看对应的日志或者 从控制台也能看到

到此,enkins 私钥配置 git (避坑指南) 就这样捣腾完了

相关推荐
萨格拉斯救世主1 小时前
jenkins使用slave节点进行node打包报错问题处理
运维·jenkins
小牛itbull4 小时前
ReactPress:重塑内容管理的未来
react.js·github·reactpress
鱼满满记12 小时前
1.6K+ Star!GenAIScript:一个可自动化的GenAI脚本环境
人工智能·ai·github
梦魇梦狸º14 小时前
腾讯轻量云服务器docker拉取不到镜像的问题:拉取超时
docker·容器·github
Huazie19 小时前
一篇搞定 Hexo Diversity 主题接入!支持多主题自由切换!
javascript·github·hexo
Narutolxy1 天前
精准优化Elasticsearch:磁盘空间管理与性能提升技巧20241106
大数据·elasticsearch·jenkins
草明2 天前
Nginx 做反向代理,一个服务优先被使用,当无法提供服务时才使用其他的备用服务
运维·nginx·github
马里嗷2 天前
Puppeteer - 掌控浏览器自动化的开源利器
后端·github
2301_796982142 天前
怎样使用pycharm的服务?
git·pycharm·github