标签: devops

Ansible > 文件与 stat 模块进行比较:需要检查文件是否具有相同的值

在remote1和remote2上有一个文件:test.txt,其版本带有日期,并且这些文件包含的内容不固定。

$ cat test.txt
Release_P1.11_2017-08-02-094316
02/08/2017
Run Code Online (Sandbox Code Playgroud)

我需要检查:

  1. 如果文件包含相同,则继续执行进一步的任务。
  2. 如果文件包含不相同,则停止任务。
   ---
   - name: latest file check
     stat:
        path: /tmp/test.txt
        get_checksum: yes
     register: test_file_check

   - debug:
        var: test_file_check.stat.checksum
Run Code Online (Sandbox Code Playgroud)

现在,如果文件包含相同,则校验和值相等,否则不相同。但我不知道解决办法。

linux stat ansible devops ansible-2.x

0
推荐指数
1
解决办法
6231
查看次数

azuregenerateAccountSAS 与generateBlobSAS

我有一个带有多个容器和 blob 的天蓝色存储帐户:

container1 -> blob1.txt, blob2.jpg
container2 -> blob1.png
container3 ->
Run Code Online (Sandbox Code Playgroud)

我想生成一个只能从container1读取和写入的 SAS 。

第一个问题:我应该使用generateAccountSASQueryParameters还是generateBlobSASQueryParameters来执行此操作?

第二个问题:我一直在尝试使用generateBlobSASQueryParameters 来实现这一点。但是,我不断收到此错误:

<Error>
  <Code>AuthenticationFailed</Code>
  <Message>
    Server failed to authenticate the request. Make sure the value of Authorization header is 
    formed correctly including the signature. RequestId:1db4c573-201e-0083-2396-ab3df5000000 
  Time:2019-12-05T18:05:52.8934222Z
  </Message>
  <AuthenticationErrorDetail>
    The specified signed resource is not allowed for the this resource level
  </AuthenticationErrorDetail>
</Error>
Run Code Online (Sandbox Code Playgroud)

我用来执行此操作的代码在这里:

const account = "storageaccountname";
const accountKey = "<myKey>";
const sharedKeyCredential = new AzureStorageBlob.StorageSharedKeyCredential(account, accountKey);
const blobServiceClient = new AzureStorageBlob.BlobServiceClient( …
Run Code Online (Sandbox Code Playgroud)

azure node.js devops

0
推荐指数
1
解决办法
1775
查看次数

如何禁用 xunit 程序集的并行化

我有一个用 c# 编写的解决方案,.netcore 2.2,测试框架是 xunit,看起来非常像这样:

-src

  --controllers

  --services

-test

  --controllers.integrationtest

  --services.integratiotest
Run Code Online (Sandbox Code Playgroud)

我们正在使用相同数据库(solutionname.test)的两个不同的 dll(controllers.integrationtest.dll 和 services.integrationtest)执行一些集成测试

现在,当我运行"dotnet test"该解决方案时,似乎两个 dll 正在尝试访问相同的资源(数据库),并且一个 dll 出现死锁。

问题是,当我运行“dotnet test”时,我想禁用 dll 的并行执行以避免死锁,所以我搜索了该内容,文档说要禁用 dll 的并行执行,您必须:

  1. xunit.runner.json在我所做的 csproject 的根目录中添加一个并且工作正常。(这是在 Visual Studio 上运行的,因为我用另一个删除测试名称的“_”字符的功能测试了它[methodDisplay]:)

  2. 配置 xunit.runner.json 文件以始终复制或在 Visual Studio 中保留最新版本,以便复制到 bin 文件夹中(与任何 appsetings.json 文件一样)

我读过,您可以在 assemblyInfo.cs 文件中放置一个程序集属性,顺便说一句,该属性似乎已被普通的 csproj 替换,所以我有点困惑。

我想要实现的最终目标是,当 DevOps 使用 dotnet 测试时,集成测试不会因并发问题而崩溃。

c# integration-testing xunit .net-core devops

0
推荐指数
1
解决办法
5764
查看次数

参数值在 aws cli Cloudformation 中不起作用

我正在通过 AWS CLI 运行我的云形成模板。它工作正常并在 AWS 门户上创建堆栈,但我面临一个问题,即无法更改默认参数值。我使用 CLI 传递我自己的参数,但只有最后一个参数值从堆栈中发生变化(即 30),其余的没有变化,而是从模板主体中选择默认值。我已经通过更改参数的位置尝试了所有可能的方法,但它仍然相同。所以请让我知道我将如何解决这个恼人的问题。这是我的命令:-

aws --region eu-north-1 cloudformation  create-stack --stack-name cli4  --template-body file://app_cli.json --parameters "ParameterKey"="Maxvalue","ParameterValue"="7","ParameterKey"="increment","ParameterValue"="1","ParameterKey"="incrementtime","ParameterValue"="30"

"Parameters": {
        "EnvironmentName": {
            "Description": "An environment name that will be prefixed to resource names",
            "Type": "String",
            "Default": "Codavel"
        },
        "amiID": {
        "Description": "Put ami-id in this",
        "Type": "String",
        "Default": "ami-085045326daf7e309"
        },
        "Maxvalue": {
        "Description": "Put max value in this",
        "Type": "String",
        "Default": "100"
        },
        "increment": {
        "Description": "Put No. of incremental instance this",
        "Type": "String",
        "Default": "2"
        },
        "incrementtime": …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services aws-cloudformation aws-cli devops aws-cloudformation-custom-resource

0
推荐指数
1
解决办法
1784
查看次数

未反映 Google Cloud Kubernetes Ingress 静态 IP 地址且与设置不同

我正在尝试在 Google Cloud 上使用 GKE 部署一个完整的 Web 应用程序(后端为 nodejs,前端为 angular)。然后为它启用 SSL。

我创建了一个全局 IP 地址(后来在列表中看到了它): gcloud compute addresses create mathbux-static-ip --global

之后,我部署了后端和前端——容器和 yaml 文件。

在 Google Cloud 中的样子

这里的问题是入口控制器上反映的IP地址来自无处,与我设置的不同(我刚刚在上面创建的静态IP地址)。

我遵循了如何在 GKE 上安装 Nginx-ingress 设置的指导方针:https : //kubernetes.github.io/ingress-nginx/deploy/#gce-gke

kubectl create clusterrolebinding cluster-admin-binding \
  --clusterrole cluster-admin \
  --user $(gcloud config get-value account)

kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v0.34.1/deploy/static/provider/cloud/deploy.yaml
Run Code Online (Sandbox Code Playgroud)

这是我的 ingress.yaml的片段部分:

.... truncated . . .
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: mathbux-ingress-frontend
  namespace: default
  annotations:
    kubernetes.io/ingress.class: nginx
    kubernetes.io/ingress.global-static-ip-name: "mathbux-static-ip"
    networking.gke.io/managed-certificates: mathbux-ssl
    nginx.ingress.kubernetes.io/rewrite-target: /
Run Code Online (Sandbox Code Playgroud)

这是我在 Google 文档中托管的证书文件的片段:

apiVersion: …
Run Code Online (Sandbox Code Playgroud)

docker google-cloud-platform kubernetes google-kubernetes-engine devops

0
推荐指数
1
解决办法
1236
查看次数

获取 https://ghrc.io/v2/: net/http: 等待连接时取消请求(等待标头时超出了 Client.Timeout)

我正在使用 github actions 来构建我的图像并将其推送到 github 注册表。

这是我的部署文件,

name: Build and Push

on:
  push:
    branches:
      - develop

jobs:

 
  build_and_push_to_github_registry:
    runs-on: ubuntu-latest
    steps:
      -
        name: Checkout
        uses: actions/checkout@v2
      - 
        name: Login to Github Container Registry
        uses: docker/login-action@v1
        with:
          registry: ghcr.io
          username: ${{ github.actor }}
          password: ${{ secrets.GITHUB_TOKEN }}
      - name: Build and Push
        uses: docker/build-push-action@v2
        with:
          context: .
          push: true
          target: dev
          tags: ghrc.io/ownerin/customer-service-backend:${{ github.sha }}
Run Code Online (Sandbox Code Playgroud)

这里的所有者是大写字母OwnerIN,但标签不支持大写字母,所以我正在使用ownerin

但是当作业运行时,我收到以下错误。构建成功,push 步骤发生错误。

...
pushing ghrc.io/ownerin/customer-service-backend:0679931b537b724ca21e6ef53178d4bf0725b4b5 with docker:
error: Get https://ghrc.io/v2/: net/http: request …
Run Code Online (Sandbox Code Playgroud)

continuous-integration github docker devops github-actions

0
推荐指数
1
解决办法
1877
查看次数

使用docker compose文件时使用代码0的容器出口

我有一个dockerfile来安装httpd.当我使用该命令运行此dockerfile时

docker run -dit/bin/bash,

容器已启动,并在后台运行.当我执行docker ps我可以看到容器正在运行.

我创建了一个docker-compose.yml文件,如下所示,

version: '2'
services:
  web:
    build:
      context: ./web
      dockerfile: Dockerfile-apache
    image: web:1.0
    container_name: web
    ports:
    - "80:80"
    command: service httpd start
Run Code Online (Sandbox Code Playgroud)

我用这个构建了这个撰写文件

docker-compose build.

之后我开始使用容器

docker-compose up -d.

容器正在退出.我不知道如何让容器在后台运行.

此外,我想让服务在容器内运行.例如,我需要像容器内的服务httpd start一样运行命令以及如何操作?

docker dockerfile docker-compose devops

-1
推荐指数
1
解决办法
8281
查看次数

如何在java中执行带有一些参数的python文件

字符串命令:

python FileName.py <ServerName> userName pswd<b>
Run Code Online (Sandbox Code Playgroud)
Process p = Runtime.getRuntime().exec(command);
BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line = "";
while ((line = reader.readLine()) != null) {
    System.out.println(line + "\n");
}
Run Code Online (Sandbox Code Playgroud)

代码既不终止也不给出实际结果。...

python java runtime.exec devops

-1
推荐指数
1
解决办法
3127
查看次数

minikube 启动失败:由于 HOST_JUJU_LOCK_PERMISSION 退出

我想安装 minikube,在启动命令后出现以下错误文本:

\n
  minikube v1.26.1 on Ubuntu 22.04\n\xe2\x9d\x97  minikube skips various validations when --force is supplied; this may lead to unexpected behavior\n\xe2\x9c\xa8  Using the docker driver based on existing profile\n  The "docker" driver should not be used with root privileges. If you wish to continue as root, use --force.\n  If you are running minikube within a VM, consider using --driver=none:\n    https://minikube.sigs.k8s.io/docs/reference/drivers/none/\n  Tip: To remove this root owned cluster, run: sudo minikube delete\n  Starting control plane node minikube in cluster minikube\n …
Run Code Online (Sandbox Code Playgroud)

docker kubernetes docker-swarm devops minikube

-1
推荐指数
1
解决办法
7815
查看次数

使用 Python 和 Ruby 的 Docker 镜像

我用 python 和 ruby​​ 创建了一个 docker 镜像。当我的 docker 镜像仅与 python 一起使用时,它可以正常工作。现在由于某种原因该图像无法正常工作。任何提示都会有用。

FROM python:2.7
LABEL maintainer="author"
COPY ./testapp /app
WORKDIR /app

RUN pip install -r requirements.txt
RUN python init_db.py


FROM ruby:2.7.1
RUN gem install bundler
RUN gem install inspec

EXPOSE 3111
CMD ["python", "app.py"]
Run Code Online (Sandbox Code Playgroud)

ruby python docker dockerfile devops

-2
推荐指数
1
解决办法
974
查看次数