jenkins pipeline远程部署war包到tomcat8.5(maven)

1.搭建一个支持远程部署的tomcat

2.新建一个maven的java web项目

用idea创建时注意选择第二个web app

3.修改pom文件。在plugins中添加如下内容:

        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>tomcat-maven-plugin</artifactId>
            <version>1.1</version>
            <configuration>
                <url>http://0.0.0.0:8888/manager/text</url>
                <username>tomcat</username>
                <password>passwd</password>
                <ignorePackaging>true</ignorePackaging>
            </configuration>
        </plugin>
url username 和 password换成第一步搭建时配置的

4.部署到tomcat

mvn tomcat:redeploy
访问url查看是否部署成功

5.把这个项目上传到gitlab/github上。

git init
git remote add 
git add *
git commit -m "init"
git push

6.Jenkins pipeline

podTemplate(cloud: 'default',namespace: 'dzzw',label: 'maven', 
    containers: [
      containerTemplate(name: 'maven', image: 'stable.icp:8500/testcenter/maven:3.5.3_jdk1.8', ttyEnabled: true, command: 'cat', args: ''),
      containerTemplate(name: 'jnlp', image: "docker-local.repo.***.com/jenkins/jnlpwithssh:0.2", ttyEnabled: true, command: '', args: '${computer.jnlpmac} ${computer.name}')
  ],
    volumes: [hostPathVolume ( hostPath: '/var/run/docker.sock', mountPath: '/var/run/docker.sock')],
    imagePullSecrets: ['artifactory']
)
node('maven') {
    sh 'git clone git@git.***.com:songjxin/maven_damo_tomcat.git';
    stage(' 获取代码并发布') {
        container('maven') {
            sh 'echo "nameserver 10.100.1.58">> /etc/resolv.conf';
            sh 'cd maven_damo_tomcat && ls && mvn tomcat:redeploy'
        }
    }
}

我在jnlp镜像加了私钥。可以通过ssh的方式clone代码。如果没有可以通过http://username:password@git****的方式获取


版权声明:本文为s7799653原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。