我正在编写一个简单的azure-pipelines.yml安装 terraform 并在继续 terraform 应用之前进行手动批准。我收到以下错误:
作业手册_批准:版本“0.198.0”的步骤参考任务手动验证对于给定作业目标无效
这是我的 yaml。
# Starter pipeline
# Start with a minimal pipeline that you can customize to build and deploy your code.
# Add steps that build, run tests, deploy, and more:
# https://aka.ms/yaml
trigger:
- test
pool:
vmImage: ubuntu-latest
jobs:
- job: install_terraform
displayName: "Installing Terraform"
steps:
- task: ms-devlabs.custom-terraform-tasks.custom-terraform-installer-task.TerraformInstaller@0
displayName: 'Install Terraform latest'
- job: terraform_init
displayName: "Terraform Init"
dependsOn: install_terraform
steps:
- task: ms-devlabs.custom-terraform-tasks.custom-terraform-release-task.TerraformTaskV2@2
displayName: 'Terraform : init' …Run Code Online (Sandbox Code Playgroud) 我正在使用它terraform创建一个web-aclinaws并希望将其web-acl与 CloudFront 发行版关联起来。
所以,我的代码如下所示:
provider "aws" {
alias = "east1"
region = "us-east-1"
}
# -------------------------------------------
# -------------------------------------------
# Cloud Front
module "front_end_cloudfront" {
source = "./modules/front-end/CF"
# CF_ALIASES = ["terraformer-frontend.dev.effi.com.au"]
CF_LAMBDA_ARN = module.frontend_lambda.cf_lambda_qualified_arn
CF_BUCKET_DOMAIN_NAME = module.front_end_bucket.website_endpoint
CF_BUCKET_ORIGIN_ID = module.front_end_bucket.website_domain
CF_TAGS_LIST = { "Name" : "terraformer-front-end-cloudfrontv2" }
CF_CERTFICATE_ARN = var.CLOUDFRONT_US_EAST_1_ACM_ARN
# WEB_ACL = module.waf.web_acl_id
WEB_ACL = module.waf_cf.web_acl_id
depends_on = [module.waf_cf]
}
# -------------------------------------------
# -------------------------------------------
# WAF for CF
module "waf_cf" { …Run Code Online (Sandbox Code Playgroud) 我需要使用 Ansible 使用该shell模块编写一个 JSON 文件。
但它给出了这个错误:
任务 [生成证书] ************************************************* ************* 致命:[xxx.xxx.xx.xxx]:失败!=> {“更改”:true,“cmd”:“cfssl gencert -ca=ca.pem -ca-key=ca-key.pem -config=ca-config.json -profile=kubernetes kube-controller-manager- csr.json | cfssljson -bare kube-controller-manager \n", "delta": "0:00:00.015363", "end": "2020-08-14 16:26:35.643003", "msg": "非零返回代码", "rc": 1, "start": "2020-08-14 16:26:35.627640", "stderr": "无法加载配置文件: {"code":5200,"message ":"无法读取配置文件"}无法解析输入:JSON 输入意外结束", "stderr_lines": ["无法加载配置文件: {"code":5200,"message":"无法读取配置文件“}无法解析输入:JSON 输入意外结束”],“stdout”:“”,“stdout_lines”:[]} 播放回顾 ****************** ****************************************************** * 35.246.9.221 : 确定=2 更改=1 无法访问=0 失败=1 已跳过=0 已获救=0 已忽略=0
这是这个的剧本:
---
- hosts: kube_master
tasks:
- name: Create kube-controller-manager.pem &kube-controller-manager-key.pem
# become: true
shell: |
cat > kube-controller-manager-csr.json << …Run Code Online (Sandbox Code Playgroud) AWS我已经在现场实例上自动缩放了 gitlab-runner 。而且效果很好。
我在运行作业时遇到问题。下面是我的.gitlab-ci.yml,它有两个阶段。
stages:
- build
- dev1:build
build:
stage: build
script:
- docker build --rm -t broker-connect-dev1-${CI_COMMIT_SHORT_SHA} -f BrokerConnect/Dockerfile .
only:
- dev1/release
tags:
- itela-spot-runner
build-dev1:
stage: dev1:build
script:
- docker tag broker-connect-dev1-${CI_COMMIT_SHORT_SHA}:latest 19950818/broker-connect:${DEV1_TAG}
only:
- dev1/release
tags:
- itela-spot-runner
Run Code Online (Sandbox Code Playgroud)
问题来了,因为我使用竞价实例来运行作业,有时该build阶段发生在一个竞价实例中,而该dev1:build阶段发生在另一个竞价实例中。当这种情况发生时,dev1:build它会失败,因为它无法找到图像,broker-connect-dev1-${CI_COMMIT_SHORT_SHA}因为它是在单独的 Spot 实例中构建的。在 gitlab 或 gitlab-runner 中,有没有办法控制这种行为并在同一个现场实例中运行这两个build作业dev1:build?
我正在尝试 dockerize 我的小型 reactjs 应用程序。
这是我的 Dockerfile
FROM node
WORKDIR /usr/src/app
COPY package.json .
COPY . .
EXPOSE 8080
RUN npm install // gives the error when executing this step
RUN npm install react-scripts@3.4.1 -g --silent
# start app
CMD ["npm", "start"]
Run Code Online (Sandbox Code Playgroud)
这是我的 package.json
{
"name": "cyberhr",
"version": "0.1.0",
"private": true,
"dependencies": {
"3d-force-graph": "^1.60.11",
"@tensorflow/tfjs": "^1.7.2",
"@tensorflow/tfjs-tsne": "^0.2.0",
"d3-dsv": "^1.2.0",
"mdbreact": "4.25.3",
"react": "^16.12.0",
"react-dom": "^16.12.0",
"react-force-graph": "^1.32.1",
"react-router-dom": "^5.1.2",
"react-scripts": "3.4.0",
"tsne-js": "^1.0.3"
},
"scripts": {
"start": "react-scripts …Run Code Online (Sandbox Code Playgroud) 当其中一项作业使用执行器和我构建的映像之一gitlab ci时,我收到此错误。gitlab-runnerdocker
这是一项失败的工作gitlab-ci.yml
image:
name: 19950818/banu-terraform-ansible-cicd
.
.
.
create-ssh-key-pair:
stage: create-ssh-key-pair
script:
- pwd
- mkdir -p ~/.ssh
# below lines gives the error
- |
# !/bin/bash
FILE=~/.ssh/id_rsa
if [ -f "$FILE" ]; then
echo "$FILE exists."
else
ssh-keygen -q -t rsa -N '' -f ~/.ssh/id_rsa 2>/dev/null <<< y >/dev/null
fi
Run Code Online (Sandbox Code Playgroud)
但是当执行者执行时这些行不会出错shell
这是Dockerfile图像的19950818/banu-terraform-ansible-cicd
FROM centos:7
ENV VER "0.12.9"
RUN yum update -y && yum install wget -y && …Run Code Online (Sandbox Code Playgroud) 我有一个.yml文件,其内容如下:
env_values:
stage: build
before_script: some-value
Run Code Online (Sandbox Code Playgroud)
stage所以我需要读取并获取和 的值before_script,因此它们将分别具有build和some-value。
bash 脚本中有一个很好的简单解决方法来读取此文件并获取值吗?
我有一个ecs集群并正在运行一些服务,我需要将container portfrom更新80为7001.
所以我尝试创建一个新版本,task definition但出现以下错误:
有人可以帮我解决这个问题吗?
我用来docker+machine运行我的gitlabci/cd 作业。
所以我的.gitlab-ci.yml样子如下:
stages:
- RUN_TESTS
image:
name: docker:stable
services:
- name: docker:dind
variables:
DOCKER_HOST: tcp://docker:2375/
DOCKER_DRIVER: overlay2
DOCKER_TLS_CERTDIR: ""
build-docker:
stage: RUN_TESTS
script:
- echo "Running the tests..."
- docker build -t run-tests .
Run Code Online (Sandbox Code Playgroud)
docker:dind这对于将图像设置为service块(如上所示)来说完全可以正常工作。
现在有趣的部分来了,我需要docker:dind图像中的一些其他包。所以我写了Dockerfile如下:
FROM docker:dind
RUN apk update
ENV PYTHONUNBUFFERED=1
RUN apk add --update --no-cache python3 && ln -sf python3 /usr/bin/python
RUN python3 -m ensurepip
RUN pip3 install --no-cache --upgrade pip setuptools
RUN …Run Code Online (Sandbox Code Playgroud) docker ×4
gitlab ×3
gitlab-ci ×2
yaml ×2
amazon-waf ×1
ansible ×1
aws-fargate ×1
azure ×1
azure-devops ×1
bash ×1
dockerfile ×1
json ×1
node.js ×1
npm ×1
terraform ×1