将生成的WAR部署到glassfish

时间:2018-03-01 20:19:56

标签: docker jenkins deployment glassfish

我在码头工具中有一个Jenkins容器。

当我成功构建某些东西时,我想将它部署到glassfish docker容器中。

https://docs.oracle.com/cd/E19798-01/821-1757/ghgmi/index.html

在给定的网站上提到,在 autodeploy 文件夹中复制战争将自动部署它。但是我如何连接到glassfish容器?

https://github.com/jenkinsci/postbuildscript-plugin

使用此插件,您可以在构建后执行脚本。

1 个答案:

答案 0 :(得分:1)

我使用Jenkins Pipeline作业来控制我的容器。

在这种情况下,您可以在管道脚本中使用类似的内容:

node ("YOUR_SLAVE_MACHINE_NAME") {
    stage('Build Image'){

        app = docker.build('NAME_OF_IMAGE:latest', '/jenkins_home/workspace/NAME_OF_THIS_JOB')

    }

    stage('Run container') {
        try {
            app.inside(' -p 8080:8080 ') { // or any properties you want to deliver

                sh '/usr/local/glassfish4/bin/asadmin start-domain'
                sh '/usr/local/glassfish4/bin/asadmin -u admin deploy /YOUR_APP.war'
                sh '/usr/local/glassfish4/bin/asadmin stop-domain'
                sh '/usr/local/glassfish4/bin/asadmin start-domain --verbose'
                sh 'sleep 10000d'
            }
        }
        catch (exc) {
            echo 'Application container is down. ' + exc 
        }
    }
}