通过Jenkins进行Wildfly部署

时间:2014-12-05 17:58:47

标签: jenkins wildfly continuous-deployment

我花了很多时间试图为这个找到解决方案。

我需要从Jenkins部署到远程Wildfly(没有Docker,Vagrant等),我希望部署的人能够选择要部署的版本。版本的战争应该从存储库(Artifactory)中检索,或者更坏的情况下,从svn标签和构建中检出

任何人都有一个有效的例子吗?

2 个答案:

答案 0 :(得分:2)

您如何定义需要在Jenkins中部署的版本?

http://blog.arungupta.me/2014/11/deployment-pipeline-javaee7-wildfly-arquillian-openshift-jenkins-techtip56/展示了如何在OpenShift上使用Jenkins部署到远程WildFly。如果测试通过,则部署应用程序,而不是其他。

答案 1 :(得分:2)

如果其他人需要这个,我的解决方案如下(尽管可能不是最佳的):

1)在Jenkins中创建自由式工作。检查'此版本已参数化'并添加一个字符串参数(例如VERSION),该参数将由用户在运行作业时定义。

2)添加构建步骤'神器解析器' (Repository Connector Plugin)并定义要部署的工件。这应该使用释放战争的Artifactory Repository来解决依赖关系。 在'版本'字段添加版本参数,例如$ {VERSION}。 在'目标文件名'字段为您的战争添加名称,例如test.war

3)添加另一个构建步骤'执行Windows批处理命令'。 注意:您需要将Jenkins机器中的jboss-cli作为环境变量。

要执行的脚本应采用以下形式:

jboss-cli.bat --connect --controller = ip:adminPort --user = admin --password = *** --commands =" deploy test.war --force"

这对我有用,即使有人有一个更优化的解决方案,我想听听它。例如,如果用户可以从选择框中选择要部署的版本而不必编写正确的版本(无验证),则会更有趣。