标签: devops

由于TeamCity中的意外完成,请勿重新添加构建

如何在构建失败后禁用TeamCity中的自动重启任务?我无法在任何地方找到这个选项.

在自动触发的构建之后,我在"概述"部分中只看到一条消息:"由于意外完成而重新添加"

teamcity automation build teamcity-9.0 devops

8
推荐指数
1
解决办法
370
查看次数

子域名,Nginx-proxy和Docker-compose

我正在寻找一种方法来配置Nginx通过我的服务器的子域访问托管服务.这些服务和Nginx都是用Docker-compose实例化的.

简而言之,在键入时jenkins.192.168.1.2,我应该访问192.168.1.2使用Nginx代理重定向托管的Jenkins .

快速浏览一下我目前拥有的东西.没有顶级域名它不起作用,因此它在play-with-docker.com上工作正常,但在本地不适用,例如192.168.1.2.

server {
    server_name jenkins.REVERSE_PROXY_DOMAIN_NAME;
        location / {
            proxy_pass http://jenkins:8080;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header X-Forwarded-Host $host:$server_port;
            proxy_set_header X-Forwarded-Server $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      }
}
Run Code Online (Sandbox Code Playgroud)

看看我想要的东西:https://github.com/Ivaprag/devtools-compose

我的总体目标是访问远程docker容器而不修改客户端的DNS服务.

subdomain nginx docker docker-compose devops

8
推荐指数
2
解决办法
6318
查看次数

通过覆盖删除docker-compose上的服务

当我们使用另一个文件docker-compose.prod.yml在composition/override中运行时,我希望删除docker-compose.yml文件中定义的容器,例如:

# docker-compose.yml
version: 2
services: 

  www:
    image: php56

  db_for_development:
    image: mariadb
Run Code Online (Sandbox Code Playgroud)

覆盖:

# docker-compose.prod.yml
version: 2
services: 

  www:
    image: php70

  db_for_development:
    [control: override-and-remove] # hypothesis
Run Code Online (Sandbox Code Playgroud)

然后,在运行时:

docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d
docker-compose -f docker-compose.yml -f docker-compose.prod.yml ps
Run Code Online (Sandbox Code Playgroud)

实际上,我www和我db_for_development在一起.

我只想要www容器,而不是其他容器.

docker-compose devops devops-services

8
推荐指数
3
解决办法
816
查看次数

在Docker容器中进行apk更新期间文件描述符描述符错误...为什么?

运行后:

docker network rm $NETNAME
docker network create --driver bridge $NETNAME --subnet "${SUBNET}0/24"
docker run --name $NODENAME -it --net $NETNAME --ip 192.168.0.2 --volume --detach $IMGNAME
Run Code Online (Sandbox Code Playgroud)

在容器中,以root身份运行apk udpdate

# apk update
fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/main/x86_64/APKINDEX.tar.gz
ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.7/main: Bad file descriptor
WARNING: Ignoring APKINDEX.70c88391.tar.gz: Bad file descriptor
fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/community/x86_64/APKINDEX.tar.gz
ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.7/community: Bad file descriptor
WARNING: Ignoring APKINDEX.5022a8a2.tar.gz: Bad file descriptor
2 errors; 33 distinct packages available
Run Code Online (Sandbox Code Playgroud)

...并击中Bad file descriptor错误。

还有许多其他人遇到相同的错误:

CDN似乎已关闭,无法使镜像工作#280

仓库问题?#279

有关如何解决此问题的建议,范围如下:

“这是一个DNS查找错误。只需将google DNS服务器(8.8.8.8、8.8.4.4)添加到Docker主机的守护进程配置文件中即可。”

... 至 ...

“将以下内容添加到您的Dockerfile:”

RUN …

linux docker dockerfile devops alpine-linux

8
推荐指数
1
解决办法
2000
查看次数

在Subversion中合并分支时的冲突预防

我最近在Subversion中发现了一个非常奇怪的合并冲突.我正在使用陆龟SVN作为客户端.请查看以下有关主干和分行详情的信息:

  • \树干\ .两个用户正在研究这个问题.
  • \ QA \是从主干合并的分支.
  • 为简单起见,在\ trunk\ClassLibrary1.sln中有一个visual studio解决方案
  • 目前解决方案中有一个示例项目.\干线\ ClassLibrary1的
  • 两个用户都已完全更新,并且没有任何工作副本更改.
  • 将发生以下事件序列.

  1. 用户1将首先在解决方案中添加一个新项目并提交整个目录.(ClassLibrary11)
  2. 用户2将获取更新并在解决方案中添加新项目并提交整个目录结构(ClassLibrary12)
  3. 上下文:在上面的补充中,ClassLibrary11是我们的特征X而ClassLibrary12是我们的特征Y.现在特征Y是稳定的,完全独立于特征X并且可以移动到QA分支.
  4. 合并过程:我们转到QA分支并将功能Y从主干合并到QA分支.它成功合并,没有任何冲突.
  5. 在开发3周后,功能X变得稳定,现在我们尝试将功能X移动到QA分支.但是当我们合并时,它会在ClassLibrary.sln文件中给出合并冲突

在此输入图像描述

意图:我们希望将整个流程自动化作为我们的Devops管道的一部分,其中功能(完全独立)可以从仪表板升级到不同的分支,这将合并与功能相关联的修订.在上面的情况下,特征X和特征Y是完全独立的(功能和代码文件也是如此).唯一的共同点是解决方案文件ClassLibrary.sln文件,其中添加了对这两个项目的引用.

Tortoise SVN应该自动发现修订版只是对2个不同提交的重新排序.所以我只是想知道一种方式(重新设计/预防性提交),以免这种冲突发生.如果他们应该发生那么我需要知道,虽然合并功能Y即ClassLibrary12,这将导致未来的冲突

svn tortoisesvn merge merge-conflict-resolution devops

8
推荐指数
1
解决办法
229
查看次数

DOWNLOAD_SOURCE失败的AWS CodeBuild

每当我启动AWS CodeBuild时,我每次都会遇到这种类型的错误.请帮忙.

DOWNLOAD_SOURCE失败3分钟,2秒

获取 https://github.com/themithunbiswas/test-repo.git/info/refs?service=git-upload-pack:拨打tcp 192.30.253.113:443:i/o timeout

amazon-web-services devops aws-codebuild

8
推荐指数
1
解决办法
4627
查看次数

在 CI-CD azure devops 中发布 angular+.net 核心项目时无法读取未定义的属性“种类”

在 CI-CD 步骤(发布)中运行 ng build --prod 命令时,我们收到以下错误。


  • ./node_modules/ng-multiselect-dropdown/fesm5/ng-multiselect-dropdown.js 中的错误模块构建失败(来自 ./node_modules/@angular-devkit/build-optimizer/src/build-optimizer/webpack-loader.js ): TypeError: 无法读取未定义的属性“种类”

这里我的 package.json 用于依赖项参考。

{
"name": "XYZ",
"version": "7.1.0",
"license": "MIT",
"angular-cli": {},
"scripts": {
"ng": "ng",
"publish": "ng build --prod",
"start": "ng serve --host 0.0.0.0 --port 4200",
"hmr": "ng serve --host 0.0.0.0 --port 4200 --hmr",
"test": "ng test",
"pree2e": "webdriver-manager update --standalone false --gecko false",
"e2e": "protractor"
  },
"private": false,
"dependencies": {
"@angular/animations": "^8.0.0",
"@angular/cdk": "^8.0.0",
"@angular/common": "^8.0.0",
"@angular/compiler": "^8.0.0",
"@angular/core": "^8.0.0",
"@angular/forms": "^8.0.0",
"@angular/platform-browser": "^8.0.0",
"@angular/platform-browser-dynamic": …
Run Code Online (Sandbox Code Playgroud)

webpack devops azure-devops asp.net-core angular

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

从标志值构建无效:构建的拉取访问被拒绝,存储库不存在或可能需要“docker 登录”

我正在尝试在 azure DevOps 管道中构建一个简单的 docker 控制台项目,但我无法构建该项目。

当我尝试复制代码时,出现此错误:

从标志值构建无效:构建的拉取访问被拒绝,存储库不存在或可能需要“docker login”:拒绝:请求的资源访问被拒绝

这里是完整的 docker 文件:

FROM mcr.microsoft.com/dotnet/core/runtime:2.2-nanoserver-1809 AS base
WORKDIR /app

FROM mcr.microsoft.com/dotnet/core/sdk:2.2-nanoserver-1809 AS build
WORKDIR /src
COPY --from=build "ConsoleApp/ConsoleApp.csproj", "ConsoleApp/" #throws the error here. I added --from=build parameter because it couldn't find the project file.
RUN dotnet restore "ConsoleApp/ConsoleApp.csproj"
COPY . .
WORKDIR "/src/ConsoleApp"
RUN dotnet build "ConsoleApp.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "ConsoleApp.csproj" -c Release -o /app/publish

FROM base AS final 
WORKDIR /app
COPY --from=publish …
Run Code Online (Sandbox Code Playgroud)

visual-studio devops azure-devops azure-pipelines azure-aks

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

在 Kubernetes 上发布新版本时自动更新容器映像

我有一个私人存储库。我想在此私有存储库上更新映像时自动更新 Kubernetes 上的映像。我怎样才能做到这一点?

containers docker kubernetes devops

8
推荐指数
3
解决办法
5536
查看次数

无法确定是否需要启动作业:错过启动时间太多 (> 100)。设置或减少 .spec.startingDeadlineSeconds 或检查时钟偏差

我已经创建了一个 cron 作业并将其推送到部署,但是当我看到它在 OpenShift 中运行时,我收到以下错误消息:

无法确定是否需要启动作业:错过启动时间太多 (> 100)。设置或减少 .spec.startingDeadlineSeconds 或检查时钟偏差。

根据我的理解,作业无法运行。但我不明白为什么它失败了。为什么没有记录在某处?- 或者如果是,我在哪里可以找到它?

CronJob 控制器将继续尝试根据最近的计划开始作业,但一直失败,显然它已经这样做了 100 次以上。

我检查了我的 cron 作业的语法,它没有给出任何错误。此外,如果有任何语法消息,我什至不允许推送。

有谁知道怎么了?

我的 Cron 工作:

apiVersion: batch/v1beta1
kind: CronJob
metadata:
  name: my-cjob
  labels:
    job-name: my-cjob
spec:
  schedule: "*/5 * * * *" 
  jobTemplate:
    # activeDeadlineSeconds: 180 # 3 min <<- should this help and why?
      spec:
        template:         
          metadata:
            name: my-cjob
            labels:
              job-name: my-cjob
          spec:
            containers:
            - name: my-cjob
              image: my-image-name
            restartPolicy: OnFailure
Run Code Online (Sandbox Code Playgroud)

还是我应该使用startingDeadlineSeconds?任何遇到此错误消息并找到解决方案的人?

根据评论更新

运行时,kubectl get cronjob我得到以下信息:

NAME …
Run Code Online (Sandbox Code Playgroud)

cron openshift kubernetes devops

8
推荐指数
1
解决办法
7733
查看次数