- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我定义了以下简单的管道:
image:
name: hashicorp/terraform:light
entrypoint:
- '/usr/bin/env'
- 'PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
variables:
PLAN: dbrest.tfplan
STATE: dbrest.tfstate
cache:
paths:
- .terraform
before_script:
- terraform --version
- terraform init
stages:
- validate
- build
- deploy
- destroy
validate:
stage: validate
script:
- terraform validate
plan:
stage: build
script:
- terraform plan -state=$STATE -out=$PLAN
artifacts:
name: plan
paths:
- $PLAN
- $STATE
apply:
stage: deploy
environment:
name: production
script:
- terraform apply -state=$STATE -input=false $PLAN
- terraform state show aws_instance.bastion
dependencies:
- plan
when: manual
only:
- master
destroy:
stage: destroy
environment:
name: production
script:
- terraform destroy -state=$STATE -auto-approve
dependencies:
- apply
when: manual
only:
- master
当我运行它时,一切都非常成功 - 但 destroy
阶段实际上并没有破坏我在 apply
阶段创建的环境。这是我所看到的:
Running with gitlab-runner 10.5.0 (80b03db9)
on ip-10-74-163-110 5cf66672
Using Docker executor with image hashicorp/terraform:light ...
Pulling docker image hashicorp/terraform:light ...
Using docker image sha256:5d5c9faad78b96bb84555a584fe729260d7ff7d3fb973e105690ddc0dab48fb5 for hashicorp/terraform:light ...
Running on runner-5cf66672-project-1136-concurrent-0 via ip-10-197-79-116...
Fetching changes...
Removing .terraform/
Removing dbrest.tfplan
Removing dbrest.tfstate
HEAD is now at f798b05 Update .gitlab-ci.yml
Checking out f798b05a as master...
Skipping Git submodules setup
Checking cache for default-1...
Successfully extracted cache
$ terraform --version
Terraform v0.12.13
+ provider.aws v2.34.0
$ terraform init
Initializing the backend...
Initializing provider plugins...
The following providers do not have any version constraints in configuration,
so the latest version was installed.
To prevent automatic upgrades to new major versions that may contain breaking
changes, it is recommended to add version = "..." constraints to the
corresponding provider blocks in configuration, with the constraint strings
suggested below.
* provider.aws: version = "~> 2.34"
Terraform has been successfully initialized!
You may now begin working with Terraform. Try running "terraform plan" to see
any changes that are required for your infrastructure. All Terraform commands
should now work.
If you ever set or change modules or backend configuration for Terraform,
rerun this command to reinitialize your working directory. If you forget, other
commands will detect it and remind you to do so if necessary.
$ terraform destroy -state=$STATE -auto-approve
Destroy complete! Resources: 0 destroyed.
Creating cache default-1...
.terraform: found 5 matching files
Created cache
Job succeeded
很明显,我调用 terraform destroy
的方式缺少了一些东西,但我不知道是什么 - 有人可以解释一下吗?
最佳答案
您没有正确地从 apply
作业传递状态,因为您没有像 plan
-> apply< 那样设置工件
。您的申请
工作应如下所示:
apply:
stage: deploy
environment:
name: production
script:
- terraform apply -state=$STATE -input=false $PLAN
- terraform state show aws_instance.bastion
artifacts:
name: apply
paths:
- $STATE
dependencies:
- plan
when: manual
only:
- master
但是,更好的解决方案是不在这里使用基于文件的状态,而是使用正确的 remote state (例如 S3 如果您使用的是 AWS),或者稍后当多个用户(包括 CI 作为潜在的自并发用户)运行 Terraform 时,您将会遇到大量问题。这使您可以利用state locking并且还允许对状态文件进行版本控制,以防 Terraform 操作期间出现问题,例如将状态作为重构的一部分移动。
关于terraform - 亚特实验室 CI : terraform destroy doesn't destroy?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58728425/
语言:Java 没有语法错误并通过了编译器但未通过我的测试器。谁能告诉我我在这里做错了什么? 以下是实验室文本说明该方法要执行的操作的内容:“计算 arr 的子数组中从索引 start 到索引 end
我正在做一个练习,到目前为止,代码(在其他线程的一些帮助之后)现在工作得很好几乎,但是......无法获得正确的结果数学观点。 代码如下: #getting base prices from user
this question的答案指出“JupyterLab Dark”主题现在作为 Vanilla 的一部分提供 jupyter-lab安装。 如何配置 jupyter-lab以便它在第一次启动时使用
背景:当您从代理机构租车时, key 圈上有几条信息:车牌、汽车品牌和年份,通常还有一个特殊代码。该代码可用于内部的一些数据处理公司的电脑。该实验室将练习从许可证中确定特殊的汽车租赁代码盘子。 作业:
我创建了 mongoose lab DB,但我在命令行中收到连接失败的错误(我提供了正确的用户并通过),我做错了什么,我该如何解决这个问题? mongoose.connect('mongodb://m
我无法使用 SSL Labs 获取 HSTS 状态。当我测试我的网站时,HSTS 显示为“否”,但我在配置文件中配置了 HSTS。我有 nginx 1.6.2。以下是 conf 文件。任何帮助将不胜感
我收到来自 https://www.ssllabs.com/ssltest/analyze.html?d=api.quotecrunchers.com 的错误“链问题:顺序不正确,额外证书”当我为我的
我很想知道教程站点“Rails for Zombies”是如何进行实验的。用户需要通过在命令行提示符中输入 ruby 代码(看起来是)来回答一系列实验问题,以完成每个实验。提交后确定他们是否可以继
Jupyter 实验室 dask-labextension不工作 已安装 都来自: A.) JupyterLab 侧边栏/扩展管理器/搜索它/点击安装 B.) 命令行从我的 cd 到 anaconda
有人可以一步一步地举例说明如何安装这个实验室吗?我正在使用 libigl 网站上的教程,但我真的不明白该怎么做。多谢! 最佳答案 你看到了吗example project page (尤其是 GitH
我正在尝试将 Jupyter Lab docker 化所以我尝试创建一个 Dockerfile 如下, FROM python:3.6 WORKDIR /jup RUN pip install jup
我正在使用 Jupyter Lab,但无法添加 conda 环境。这个想法是从我的基础环境启动 Jupyter Lab,然后能够选择我的其他 conda envs 作为内核。 我安装了 nb_cond
我对 Office Scripts 和 Office Lab 感到困惑。 两者都可以在 Excel 中运行 javascript,但似乎无法在它们中共享代码。 对于 Office 脚本,一些代码如 f
我正在阅读 AWS 架构良好的实验室指南,并正在研究 VPC 的自动部署 ( https://www.wellarchitectedlabs.com/Security/200_Automated_De
我有一个如下的颜色框数组。 现在,我想对数组进行编号,如下图所示。 为了进行编号,我只是手动将文本放在数组元素上。 我想自动编号。 谁能给我一个解决方案,如何自动对数组元素进行编号? 提前谢谢您。 最
Jupyter Notebook 和 Jupyter Lab 运行良好,直到我更新了软件包并设置了环境。 之后,JupyterLab 3.0 不会打开。它显示 404 和一条错误消息: [I 18:2
我是 Anaconda 的新手,最近在我的计算机上安装了 jupyter 实验室。但是,每当我尝试在本地 Jupyter Labs 实例上构建时,都会收到以下错误: 在 jupyter 实验室终端中运
我正在使用 phantomjs-node不幸的是,它不能很好地与 lab 配合使用的测试覆盖率的东西。当我运行 lab -t 100 ,它正在尝试注入(inject) __$$labCov进入传递给
在我的 hapijs 应用程序中,我有一些路由需要 session,使用 hapi-auth-cookie 插件进行身份验证策略。我想为这些路线添加一些测试(通过 Lab )。 我找不到关于如何为这种
最近我一直在尝试阅读一位 friend 推荐的《csapp》这本书。当我试图完成实验作业时,事情发生了 datalab-handout (需要下载)。 当我尝试在 MacOSX Yosemite 中运
我是一名优秀的程序员,十分优秀!