查看“Using Jenkins agents with docker”的源代码
←
Using Jenkins agents with docker
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
[[category:devops]] == ** Generating an SSH key pair == ssh-keygen -t dsa -f ~/.ssh/jenkins_agent_key ==*** Create a Jenkins SSH credential == <pre> 1. Go to your Jenkins dashboard; 2.Go to Manage Jenkins option in main menu and click on credentials button; 3.select the drop option Add Credentials from the global item; 4.Fill the form: Kind: SSH Username with private key; id: jenkins description: The jenkins ssh key username: jenkins Private Key: select Enter directly and press the Add button to insert your private key from ~/.ssh/jenkins_agent_key Passphrase: fill your passphrase used to generate the SSH key pair and then press OK </pre> ==** Creating your Docker agent == <pre> run the command to start your first agent: docker run -d --rm --name=agent1 -p 22:22 \ -e "JENKINS_AGENT_SSH_PUBKEY=[your-public-key]" \ jenkins/ssh-agent:alpine 实际替换上你的pub key docker run -d --rm --name=agent1 -p 222:22 \ -e "JENKINS_AGENT_SSH_PUBKEY=ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCljcroCTtT+Qipw8NvncMZx731Dv4fjZPt09JaD+aR3jdNWp5e\ bpKJQGD12UzN6/2lRPHipIroY/WKt+MIy9y+0iQ1Om+nl01j6GHkVeGVhoKCmv4dRQgvoczYHO5ccXNo\ uVeTnopg+4UiKWzimOVE0pcu06H//OFEGR24BT8bBAHrV17EYshhY09I9LXzw8O+oSsn217frmNNEfUo\ aq72verbEUrPS/NfBwdb4W4Pfdc874bUcnt7UEFa9VSSeLFa0Xp7xzNurZye+m9WAn/WhjDXQJgZE3Ql\ yYLc6ZT9k4EdXlJgF/GeZ4wX4p9itnmimMiYy+eieb4jwHlAWryh root@gitlabzbx " \ jenkins/ssh-agent:alpine Now run the following command to update the container environment: $ VARS1="HOME=|USER=|MAIL=|LC_ALL=|LS_COLORS=|LANG=" $ VARS2="HOSTNAME=|PWD=|TERM=|SHLVL=|LANGUAGE=|_=" $ VARS="${VARS1}|${VARS2}" $ docker exec agent1 sh -c "env | egrep -v '^(${VARS})' >> /etc/environment" </pre> =* config on web = <pre> Setup up the agent1 on jenkins. 1. Go to your Jenkins dashboard; 2. Go to Manage Jenkins option in main menu; 3.Go to Manage Nodes and clouds item; 4.Go to New Node option in side menu; 5.Fill the Node/agent name and select the type; (e.g. Name: agent1, Type: Permanent Agent) 6.Now fill the fields: Remote root directory; (e.g.: /home/jenkins ) label; (e.g.: agent1 ) usage; (e.g.: only build jobs with label expression…) Launch method; (e.g.: Launch agents by SSH ) Host; (e.g.: localhost or your IP address 一般是ip 不可能是自己机器 ) Credentials; (e.g.: jenkins ) Host Key verification Strategy; (e.g.: Manually trusted key verification … ) 自己要注意的细节 因为母机的22不能再用了 固定 -- ssh 端口 222 Now press the button Launch agent and wait some seconds, then you should receive the message: Agent successfully connected and online on the last log line. Agent successfully connected 然后启动节点 如果遇到报错【The SSH key for this host is not currently trusted. Connections will be denied until this new key is authorised.】 直接节点配置里面点trust key agent1 Trust SSH Host Key :~/tmp$ ssh -i id_rsa -p 222 jenkins@192.168.88.149 我测试是可以login的呀 </pre> =trouble shooting= <pre> java.io.IOException: Java not found on hudson.slaves.SlaveComputer@d48b725. Install Java 8 or Java 11 on the Agent. alpine 安装java apk add openjdk8 java目录 /opt/java/openjdk/bin/java 要安装这个插件 SSH Agent SSH build Agents 这两个搞得有点久 /home/jenkins 工作目录改成这个 /tmp好了 ? 不是的 Node and Label parameter nodelabelparameter Job Restrictions 插件 不然 I can't find “Restrict where this project can be run” in the configure page 就是手工添加的了 有如当年在xk 选择git 版本一样 参数化构建过程 -->添加参数 ->Node --> https://plugins.jenkins.io/nodelabelparameter/ docker pull jenkins/ssh-slave 把php 搞到 agent agent1 还要上 apk add git phing 和 相关dns root运行哦 </pre> =测试一下 Delegating the first job to agent1= <pre> Go to your jenkins dashboard; Select New Item on side menu; Enter a name. (e.g.: First Job to Agent1) Select the Freestyle project and press OK; #我暂时没这个选项 why Check the option: Restrict where this project can be run; Fill the field: label with the agent1 label; (e.g.: agent1) </pre> = * see also = [https://www.jenkins.io/doc/book/using/using-agents/ 官网Using Jenkins agents]
返回至
Using Jenkins agents with docker
。
导航菜单
个人工具
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
我的导航
关于我
shell
python
ops
linuxchina.net
blog.linuxchina
最近更改
随机页面
帮助
工具
链入页面
相关更改
特殊页面
页面信息