Jenkins CI/CD pipeline for java project with context in server.xml

hivapdat  于 2023-08-03  发布在  Jenkins
关注(0)|答案(1)|浏览(126)

我有一个运行在Apache Tomcat 9上的Java应用程序。这个应用程序需要一个oracle数据库连接池.这是我在server.xml文件中的上下文。

<Context path="/app-develop" docBase="/some/path" >

        <Resource name="jdbc/RasaDS"
                auth="Container"
                type="oracle.jdbc.pool.OracleDataSource"
                driverClassName="oracle.jdbc.driver.OracleDriver"
                factory="oracle.jdbc.pool.OracleDataSourceFactory"
                url="jdbc:oracle:thin:@IP:1521:SID"
                user="schema_name"
                password="schema_pass"
        connectionCachingEnabled="true"
                connectionCacheName="myapp_test_connection_pool"/>

  <Resource
    auth="Container"
    name="mail/Session"
    type="javax.mail.Session"
    mail.smtp.host="IP"
    mail.smtp.password="smtp_pass"
    mail.smtp.port="smtp_port"
    mail.smtp.socketFactory.port="smtp_port"
    mail.smtp.user="user@a.com"
    mail.smtp.socketFactory.class="javax.net.ssl.SSLSocketFactory"
    mail.smtp.socketFactory.fallback="false"
    mail.transport.protocol="smtp"
    mail.smtp.auth="true"
    mail.smtp.starttls.enable="true"
        mail.debug="true"/>

                <Resource name="url/config"
                factory="com.pars.common.util.GeneralBeanFactory"
                auth="Container"
                type="java.net.URL"
                url="file:///Path/to/xml/config"/>
</Context>

字符串
正如你所看到的,应用程序也需要一个配置文件。我是Jenkins和CI/CD的新手。我使用管道运行CI部分。但部署阶段不工作。我在管道中的部署阶段:

stage('deploy to test') {
          steps {
              deploy adapters: [tomcat9(credentialsId: 'tomcat-deployer', path: '', url: 'https://tomcat_url/app-develop/')], contextPath: 'file_name.war', war: '**/*.war'
                }
          }

  1. Jenkins插件默认使用webapps目录,但我需要在上下文中使用自定义目录路径。
    1.在“contextPath”Jenkins插件只接受war/ear文件,但是在deploy中我需要将war文件解压缩到配置索引文件。有什么建议吗?
    我使用“部署到容器”插件。我在容器中也有这个应用程序。对于docker-compose文件中的应用程序目录,我使用卷。
mwecs4sa

mwecs4sa1#

5天后,我决定使用Ansible来运行一个运行playbook的子作业。在playbook中,复制、构建和停止/启动tomcat都可以顺利完成。

相关问题