小编Jan*_*uka的帖子

Azure Pipeline 步骤参考任务手动验证版本 0.198 对于给定作业目标无效

我正在编写一个简单的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)

yaml azure azure-devops

22
推荐指数
1
解决办法
1万
查看次数

GitLab 运行程序为每个作业拉取镜像

我有一个 GitLab 运行程序用作执行docker程序。我的问题是,它提取我为每个作业定义的图像,这需要更多时间来完成管道

在此输入图像描述

如何缓存图像并添加policyjob的拉取runner?请问有人吗?

gitlab docker

20
推荐指数
3
解决办法
4万
查看次数

更新 CloudFront Distribution (E32RNPFGEUHQ6J) 时出错:InvalidWebACLId:请求者无法访问 Web ACL

我正在使用它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)

amazon-cloudfront terraform amazon-waf

18
推荐指数
2
解决办法
8463
查看次数

如何使用 Ansible 编写 JSON 文件

我需要使用 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)

json ansible

6
推荐指数
1
解决办法
1万
查看次数

如何在同一实例中运行 Gitlab CI 作业

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

gitlab gitlab-ci gitlab-ci-runner

6
推荐指数
1
解决办法
6451
查看次数

如何修复 Docker 中的 npm install 失败

我正在尝试 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)

node.js npm docker

5
推荐指数
1
解决办法
1170
查看次数

Gitlab Runner 折叠了 docker 执行器的多行命令

当其中一项作业使用执行器和我构建的映像之一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)

gitlab docker

5
推荐指数
1
解决办法
2万
查看次数

如何使用 bash 读取 yaml 或 env 文件

我有一个.yml文件,其内容如下:

env_values:
 stage: build
 before_script: some-value 
Run Code Online (Sandbox Code Playgroud)

stage所以我需要读取并获取和 的值before_script,因此它们将分别具有buildsome-value

bash 脚本中有一个很好的简单解决方法来读取此文件并获取值吗?

bash yaml

5
推荐指数
1
解决办法
3986
查看次数

如何修复更新服务失败:容器 XXX 没有定义容器端口 80

我有一个ecs集群并正在运行一些服务,我需要将container portfrom更新807001.

所以我尝试创建一个新版本,task definition但出现以下错误:

在此输入图像描述

有人可以帮我解决这个问题吗?

amazon-web-services aws-fargate

5
推荐指数
1
解决办法
7235
查看次数

连接期间 Docker 错误:发布 http://docker:2375/v1.40/build?

我用来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 gitlab-ci dockerfile gitlab-ci-runner

4
推荐指数
1
解决办法
1万
查看次数