jenkins使用过程趟过的3个坑
修改用户权限<跳过认证>
将/var/lib/jenkins/config.xml文件中的如下部分删除,可跳过认证直接进行系统相关配置设置:
<useSecurity>true</useSecurity>
<permission>com.cloudbees.plugins.credentials.CredentialsProvider.Create:anonymous</permission>
<permission>com.cloudbees.plugins.credentials.CredentialsProvider.Create:root</permission>
<permission>hudson.model.Hudson.Read:anonymous</permission>
<permission>hudson.model.Hudson.Read:root</permission>
<permission>hudson.model.Item.Build:anonymous</permission>
<permission>hudson.model.Item.Build:root</permission>
<permission>hudson.model.Item.Cancel:anonymous</permission>
<permission>hudson.model.Item.Cancel:root</permission>
<permission>hudson.model.Item.Configure:anonymous</permission>
<permission>hudson.model.Item.Configure:root</permission>
<permission>hudson.model.Item.Create:anonymous</permission>
<permission>hudson.model.Item.Create:root</permission>
<permission>hudson.model.Item.Read:anonymous</permission>
<permission>hudson.model.Item.Read:root</permission>
<permission>hudson.model.Item.Workspace:anonymous</permission>
<permission>hudson.model.Item.Workspace:root</permission>
<permission>hudson.model.View.Configure:anonymous</permission>
<permission>hudson.model.View.Configure:root</permission>
<permission>hudson.model.View.Create:anonymous</permission>
<permission>hudson.model.View.Create:root</permission>
</authorizationStrategy>
<disableSignup>false</disableSignup>
<enableCaptcha>false</enableCaptcha>
</securityRealm>
进入Manager System以后,修改认证
通过Publish over ssh远程执行命令
安装插件ssh2**
在系统配置里面找到Publish over SSH,配置如下信息
Jenkins SSH Key
Passphrase :留空
Path to key :/var/lib/jenkins/.ssh/id_rsa.pub jenkins的公钥key
Key jenkins的私钥,对应/var/lib/jenkins/.ssh/id_rsa中的字符串
添加SSH Server
Name :随便取名,如DEV-1
Hostname:远程机器IP
Username :远程机器登陆的用户名,如root
Remote Directory:远程机器登陆的工作根目录 (最好不设置)
测试功能是否正常
注意如果没有将 /var/lib/jenkins/.ssh/id_rsa.pub给添加到远程机器IP的/home/$Username/.ssh/authorized_keys,可能会出现jenkins.plugins.publish_over.BapPublisherException: Failed to connect and initialize SSH connection. Message: [Failed to connect session for config [centos7]. Message [Auth fail]]错误
jenkins用户运行sudo命令
chmod u+x ./start_server.sh 提示如下信息,在/etc/sudoers中编写如下的命令 添加 jenkins ALL=(ALL) NOPASSWD: NOPASSWD: ALL 即可:
02:11:10 + sudo chmod u+x ./start_server.sh
02:11:10 We trust you have received the usual lecture from the local System
02:11:10 Administrator. It usually boils down to these three things:
02:11:10 #1) Respect the privacy of others.
02:11:10 #2) Think before you type.
02:11:10 #3) With great power comes great responsibility.
02:11:11 sudo: no tty present and no askpass program specified
02:11:11 Build step 'Execute shell' marked build as failure