构建jar包
1、拉取jenkins容器景象
docker pull docker.io/jenkins/jenkins
2、配置映射目录,创建一个容器
mkdir /data/jenkins docker run -p 8080:8080 -p 50000:50000 --restart=always -v /data/jenkins:/var/jenkins_home --name jk01 -idt docker.io/jenkins/jenkins
#注意宿主机/data/jenkins目录的权限
3、查看初始化密码,登录到jenkins WEB页面
cat /root/.jenkins/secrets/initialAdminPassword 或者 cat /data/jenkins/secrets/initialAdminPassword
进入容器下载maven,docker exec -u root -it jk01 bash
wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz //3.5.2的没有就下3.5.4的 tar -xvf apache-maven-3.5.4-bin.tar.gz
把构建好的jar包推送到相应的股务器(需要安装Publish Over SSH插件)
在jenkins安装的服务器操作,如果是docker安装的jenkins则需要在进入docker里面执行 cd ~ ssh-keygen -t rsa ssh-copy-id lin@192.168.1.55 #免密码登陆到192.168.1.55
进入Jenkins—>系统管理—>系统设置,配置Publish over SSH
有时候秘钥放在/root/.ssh/id_rsa目录,Path to key选项会显示“没有这个文件夹:/root/.ssh/id_rsa”,主要是因为jenkins容器默认用户是jenkins,不能读取到root目录的文件,把id_rsa拷贝到jenkins用户能访问地方就行了
点击Test Configuration看看远程登陆是否成功
如果出现以下错误
jenkins.plugins.publish_over.BapPublisherException: Failed to connect and initialize SSH connection. Message: [Failed to connect SFTP channel. Message [java.io.IOException: inputstream is closed]]
则去到目标主机 vim /etc/ssh/sshd_config
Subsystem sftp /usr/libexec/openssh/sftp-server 改为 Subsystem sftp internal-sftp //然后重启sshd service sshd restart
构建配置