首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Terraform和Jenkins

Terraform和Jenkins
EN

Stack Overflow用户
提问于 2018-04-29 20:11:33
回答 3查看 2.2K关注 0票数 0

伙计们,我想用Jenkins管道自动化terraform,我的terraform也安装在不同的Vm和Jenkins上。我知道有Terraform插件。但是,似乎Terraform必须安装在与jenkins相同的vm上(或者在/var/lib/jenkins/工作区上),这样做有吗?请分享你的建议。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-05-01 12:48:19

一般来说,保持Jenkins机器尽可能干净是个好主意,因此您应该避免像Terraform一样在其上安装额外的软件包。解决这个问题的一个更好的方法是使用Terraform二进制文件和您需要内置的所有插件创建一个Dockerfile,然后在Jenkins管道中所需要做的就是构建和执行Terraform停靠程序。

这是这样的Dockerfile的一个例子:

代码语言:javascript
复制
FROM hashicorp/terraform:0.11.7
RUN apk add --no-cache bash python3 && \
    pip3 install --no-cache-dir awscli

RUN mkdir -p /plugins

# AWS provider
ENV AWS_VERSION=1.16.0
ENV AWS_SHA256SUM=1150a4095f18d02258d1d52e176b0d291274dee3b3f5511a9bc265a0ef65a948

RUN wget https://releases.hashicorp.com/terraform-provider-aws/${AWS_VERSION}/terraform-provider-aws_${AWS_VERSION}_linux_amd64.zip && \
    echo "${AWS_SHA256SUM}  terraform-provider-aws_${AWS_VERSION}_linux_amd64.zip" | sha256sum -c - && \
    unzip *.zip && \
    rm -f *.zip && \
    mv -v terraform-provider-aws_* /plugins/

COPY . /app
WORKDIR /app
ENTRYPOINT []

Terraform文档还包含一个关于在CI:https://www.terraform.io/guides/running-terraform-in-automation.html中运行Terraform的最佳实践的部分。

票数 0
EN

Stack Overflow用户

发布于 2018-04-30 05:42:52

是的,最快的方法是为jenkins使用主/从设置。因此,您需要做的是向运行terraform的机器添加从服务器。

票数 0
EN

Stack Overflow用户

发布于 2019-02-22 18:51:19

我已经创建了一个Global Shared Library 太棒了-jenkins-utils,您可以在同一管道中同时使用不同版本的terraform。此外,您还可以轻松地将构建参数映射到terraform变量。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50090845

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档