如何在构建失败后禁用TeamCity中的自动重启任务?我无法在任何地方找到这个选项.
在自动触发的构建之后,我在"概述"部分中只看到一条消息:"由于意外完成而重新添加"
我正在寻找一种方法来配置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服务.
当我们使用另一个文件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 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错误。
还有许多其他人遇到相同的错误:
有关如何解决此问题的建议,范围如下:
“这是一个DNS查找错误。只需将google DNS服务器(8.8.8.8、8.8.4.4)添加到Docker主机的守护进程配置文件中即可。”
... 至 ...
“将以下内容添加到您的Dockerfile:”
RUN …
我最近在Subversion中发现了一个非常奇怪的合并冲突.我正在使用陆龟SVN作为客户端.请查看以下有关主干和分行详情的信息:
意图:我们希望将整个流程自动化作为我们的Devops管道的一部分,其中功能(完全独立)可以从仪表板升级到不同的分支,这将合并与功能相关联的修订.在上面的情况下,特征X和特征Y是完全独立的(功能和代码文件也是如此).唯一的共同点是解决方案文件ClassLibrary.sln文件,其中添加了对这两个项目的引用.
Tortoise SVN应该自动发现修订版只是对2个不同提交的重新排序.所以我只是想知道一种方式(重新设计/预防性提交),以免这种冲突发生.如果他们应该发生那么我需要知道,虽然合并功能Y即ClassLibrary12,这将导致未来的冲突
每当我启动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
在 CI-CD 步骤(发布)中运行 ng build --prod 命令时,我们收到以下错误。
这里我的 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) 我正在尝试在 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) 我有一个私人存储库。我想在此私有存储库上更新映像时自动更新 Kubernetes 上的映像。我怎样才能做到这一点?
我已经创建了一个 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) devops ×10
docker ×3
azure-devops ×2
kubernetes ×2
alpine-linux ×1
angular ×1
asp.net-core ×1
automation ×1
azure-aks ×1
build ×1
containers ×1
cron ×1
dockerfile ×1
linux ×1
merge ×1
nginx ×1
openshift ×1
subdomain ×1
svn ×1
teamcity ×1
teamcity-9.0 ×1
tortoisesvn ×1
webpack ×1