docker - 将生成的WAR部署到glassfish

标签 docker jenkins deployment glassfish

我在Docker中有一个Jenkins容器。

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

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

在给定的网站上提及,将 war 复制到autodeploy文件夹中将自动部署它。但是,如何连接到玻璃鱼容器?

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

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

最佳答案

我使用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 
        }
    }
}

关于docker - 将生成的WAR部署到glassfish,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49058048/

相关文章:

javascript - 由于绑定(bind)安装,Dockerfile 和 docker-compose 找不到节点模块

docker - 从 Firebase/Google Cloud Functions 执行 Docker 容器

amazon-web-services - 部署新版本的Docker镜像后ECS服务重新启动

java - Jenkins 中的 Maven 作业未在控制台输出中显示错误

linux - 使用开箱即用的操作系统镜像部署 Web 应用程序

python - 使用 Python 在控制台上读取 ant 构建输出

Docker 容器随机丢失互联网

c++ - Windows Server 2008 r2 上 BluetoothGetRadioInfo 的替代方案

java - 使用嵌入式 tomcat 服务器进行 JUnit 测试,如何为 http 和 https 连接器指定自动端口?

deployment - NuGet 不复制配置文件