“运行”;“mvn清洁安装”;使用ansible模块的maven命令
我正在尝试为我的项目实现CI/CD管道。我用的是Ansible、Docker和jenkins。SVN签出、映像docker映像构建、映像推送到Dockerhub、拉入和部署等每个阶段都计划使用ansible角色完成。现在,我使用ansible模块成功实现了示例SVN签出、映像构建和推入以及docker映像部署“运行”;“mvn清洁安装”;使用ansible模块的maven命令,maven,docker,ansible,Maven,Docker,Ansible,我正在尝试为我的项目实现CI/CD管道。我用的是Ansible、Docker和jenkins。SVN签出、映像docker映像构建、映像推送到Dockerhub、拉入和部署等每个阶段都计划使用ansible角色完成。现在,我使用ansible模块成功实现了示例SVN签出、映像构建和推入以及docker映像部署 我使用的是Maven构建工具,所以在这里我有点困惑,在从svn存储库中签出之后,我需要使用ansible运行“mvn clean install”。不,我想找一个可解的模。但我并没有得到一
我使用的是Maven构建工具,所以在这里我有点困惑,在从svn存储库中签出之后,我需要使用ansible运行“mvn clean install”。不,我想找一个可解的模。但我并没有得到一个简单的模块。要做到这一点,有没有像docker_image和svn这样的maven的ansible模块?如何使用ansible角色运行maven命令 如果找不到特定任务的模块,则有两个选项:
命令
或shell
模块执行所需的行为有些系统过于复杂,无法快速实现为ansible模块,然而,如果您找不到任何适用于maven的ansible插件,则通常很容易使用其CLI。。您可以使用shell模块来实现这一点。 以下是一个例子:
- name: Running mvn clean
shell: "mvn clean install"
register: mvn_result
- name: "mvn clean task output"
debug:
var: mvn_result
我有类似的情况,我必须下载源代码(从git)并将编译结果(JavaJAR)安装到本地Maven存储库中 虽然Maven没有Ansible模块,但是使用
命令编写功能实际上是一个非常简单的过程。我使用以下任务,其中仅当repo的本地克隆已更改时才运行Maven
- name: "source code : download"
register: source_code_clones
git:
repo: ssh://git@somewhere.invalid/projects/{{ item }}.git
dest: "{{ repodir }}/{{ item }}"
version: master
depth: 1
with_items:
- project1
- project2
- project3
# - debug:
# msg: "{{ item }}"
# with_items: "{{ source_code_clones.results }}"
- name: "source code : local install"
when: item.changed
command: mvn --batch-mode --quiet install
args:
chdir: "{{ repodir }}/{{ item.item }}"
with_items: "{{ source_code_clones.results }}"
有一页;即使没有专门的mvn安装
模块,您也可以随时使用该模块执行任何需要的操作。