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
- 使用
docker ps
查看是否已启动 (没看到 容器id 的可以 通过docker logs jenkins
查看日志 排查原因 - 使用
docker exec -it -uroot <container_id> bash
进入 容器 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"
生成 密钥- 提取所生成的私钥与公钥
bash
cat /root/.ssh/id_rsa
cat /root/.ssh/id_rsa.pub
- 将 公钥 复制,并贴到 github.com/你自己的git/你的项...
- 将私钥 贴到 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/
四、验证时刻到了
- 在 Jenkins 首页,新建一个 自由风格的软件项目
2.在项目里面,点击 源码管理,填写 git仓库地址,以及 上述设置的 凭证 后点击 保存,看图:
- 在首页或者项目页面,点击 立即构建,可以通过点击构建历史,查看对应的日志或者 从控制台也能看到
到此,enkins 私钥配置 git (避坑指南) 就这样捣腾完了