藏兵谷JAVA

pipeline部署java项目

2019-11-19  本文已影响0人  互联网中的一个咸鱼

总结步骤:
1、上传项目到gitlab
2、jenkins从gitlab上拉取项目
3、maven对项目进行构建
4、在jdk容器内部署项目

一、上传项目(gitlab)

[root@jenkins ~] ls
a.txt  b.txt  jenkins  pom.xml  README.md  src

准备一个完善的java项目 将java项目上传到gitlab仓库上 保证pom.xml文件在项目的根目录下

git add .
git commit -m 'java code'
git push origin
Screenshot of 焦盼鑫 _ auto_cmdb_project · GitLab (1).jpg

二、从gitlab上拉取项目

pipeline {
    agent none 
    stages {
        stage('from gitlab pull') {
            agent any
            steps {
                git credentialsId: '657820cc-5123-4f9f-8819-5124c008e7b8', 
                url: 'git@gitlab-db:alice/auto_cmdb_project.git'
                # 这里可以借助片段生成器直接生成
            }
        }
    }
}

项目会被拉取到${WORKSPACE}下
${WORKSPACE}位于/var/jenkins_home/workspace/task_name

三、用maven对项目进行编译

这里通过启用一个容器对项目进行编译

stage('maven build') {
            agent {
                docker {
                    image  'maven:3-alpine'  # 通过容器进行创建
                }
            }
            steps {
                sh "mvn -B -DskipTests clean package"    # 编译
            }
        }

构建完之后会生成一个target目录,目录内会存在一个jar包 最终操作的是这个jar包

[root@ jenkins ]ls
Jenkinsfile  a.txt  jenkins     pom.xml  target
README.md    b.txt  my-app-1.0.tgz  src

[root@ jenkins ]cd target
[root@ jenkins ]ls
classes  maven-archiver  maven-status  my-app-1.0-SNAPSHOT.jar  test-classes

四、执行对应的jar包

用一个新的镜像执行jar包

stage('delopy'){
            agent{ docker 'openjdk:8-jre'}
            steps{
                sh "java -jar target/my-app-1.0-SNAPSHOT.jar"
            }
        }

五、完整代码

pipeline {
    agent none 
    stages {

        stage('from gitlab pull') {
            agent any
            steps {
                git credentialsId: '657820cc-5123-4f9f-8819-5124c008e7b8', 
                url: 'git@gitlab-db:alice/auto_cmdb_project.git'
            }
        }
        stage('maven build') {
            agent {
                docker {
                    image  'maven:3-alpine'
                }
            }
            steps {
                sh "mvn -B -DskipTests clean package"
            }
        }
        stage('delopy'){
            agent{ docker 'openjdk:8-jre'}
            steps{
                sh "java -jar target/my-app-1.0-SNAPSHOT.jar"
            }
        }
    }
}

构建之后的结果

Screenshot of jenkins _ deploy_pro_pipeline _ #61.jpg

第二种方式 通过源代码管理系统加载

在gitlab上传Jenkinsfile文件 放在项目的根目录下

文件内容为上述的完整代码

Screenshot of deploy_pro_pipeline Config [Jenkins] (1).jpg

保存之后 点击构建也可以完成任务

以后想要修改构建内容 需要修改Jenkinsfile文件,重新上传到Gitlab上重新构建就可以了

上一篇 下一篇

猜你喜欢

热点阅读