Jenkins+docker+git+maven构建项目不在一台服务器上
Jenkins+docker+git+maven构建项目
环境:2台阿里云服务器(一台的操作也是一样的)
A服务器环境:1.8jdk,docker(
B服务器环境:1.8jdk,docker
思路:在A服务器上从git上获得源码,通过mvn 打包成.jar,再上传到B服务器,在B服务器上生成镜像,然后运行。
1.从A服务器上docker run 一个jenkins镜像 ( chmod 777 /usr/jenkins/jenkins-home)
给文件权限否则不可读入
docker run -p 8082:8080 -d -v /usr/jenkins/jenkins-home:/var/jenkins_home jenkins/jenkins:lts在此之前需要( chmod 777 /usr/jenkins/jenkins-home)
给文件权限否则不可读入
2. 获取初始密码并访问,输入密码后等待时间有点长
4. 进入后选择安装插件 先安装推荐一波结束后创建一个账号,手动安装插件。
通过手动安装Push Over SSH插件和Maven Integration plugin
5.配置全局工具 git和jdk在镜像中已经存在,jdk目录如下(感兴趣的可以去找找)
没有maven环境所以选择自动安装。构建时会自动下载
6.系统设置
这里可以配置通知邮件(需要去获取发送邮件权限)再进行配置(这里就不配了)配置其他服务器,这里去配置连上B服务器
7. 创建maven任务配置git地址
配置mvn shell 打包成.jar
cd /usr/jenkins/jenkins-home/workspace/jenkins-test/demo0-0
mvn clean package -Dmaven.test.skip=true
jenkins-test是这个任务的名称,运行时会生成一个文件夹,这个文件下是从git上下载下来的demo0-0
注意:我这上传到git上的是demo0-0文件夹目录结构如下。
最后一步通过前面配置的服务器B。上传.jar到服务器B并生成镜像,运行 Source files :.jar的相对路径,相对与这个任务jenkins-test文件夹
Remove prefix:去除前面不需要上传的部分。
Remote directory: 需要上传到服务器B那个目录下。
Exec command:上传后再B上运行的脚本。
最后点击保存。
这只是最初级的构建。触发器,参数构建等构建。后续再给出。