问题标签 [cicd]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
75 浏览

azure-devops - Azure Pipelines 维护多个国家/地区/环境

我们计划为我们的项目实施 CI/CD。总之,我们的设置如下:

  • 代码存储库(包含解决方案和项目文件)
  • 配置存储库(包含不同国家/地区的 .config 文件)

除了拥有多个环境之外,我们还在多个国家/地区拥有实例。下面的示例:

  • 国家 1
    • 开发
    • 质量保证
    • 产品
  • 国家 2
    • 开发
    • 质量保证
    • 产品

我了解 Azure 发布管道可以有多个阶段(开发、质量保证、产品)和可用于部署的变量。然后我们可以为每个国家/地区拥有 1 个发布管道。

我遇到的困难是Config Repository。有时,开发人员可能需要为特定环境更新国家/地区的特定配置文件。

我能想到的唯一解决方案是再次触发发布管道,但只是替换 VM 中 IIS 上的Web.config

但是,这并不好,因为如果开发人员只更新Code Repository,来自 Config Repository 的任何更改都将被覆盖。

关于如何通过管道自动化多个国家/环境的任何建议?

谢谢

0 投票
2 回答
998 浏览

docker - 准备失败:尝试在 unix:///var/run/docker.sock 连接到 Docker 守护程序套接字时获得权限被拒绝

试图将 gitlab 中的项目转换为 docker 映像。gitlab 是自托管的。这是我得到的错误:

我添加了一个跑步者,注册了它,用我没有修改的 docker 模板创建了一个 gitlab-ci.yml。作为我在添加跑步者之前和之后尝试过的解决方案chmod 666 /var/run/docker.sock,但它不起作用。我还在运行和注册 docker runner 之前添加了 sudo ,但仍然没有成功。我找到了将我的 docker 用户添加到 docker 组的另一个选项,但我的所有用户都在 docker 组中。docker runner 作为 docker 镜像运行。我不知道该怎么办......请帮忙。我正在尝试大约 10 天但没有成功...提前谢谢

0 投票
1 回答
96 浏览

amazon-web-services - AWS Amplify 克隆存储库错误:“SSR 应用程序不支持基本身份验证。”

我在 AWS Amplify 中有一个应用程序。我在应用程序设置中使用凭据限制了访问控制。当我关闭对公开可见的限制但当我再次打开限制时,AWS 放大中的构建失败?我无法理解。请解释。

0 投票
1 回答
34 浏览

asp.net-core - 如果项目引用来自另一个 .net 解决方案,则 CI 构建失败

我有两个独立的.net 项目。一个就像一个项目,它主要用于处理发票,另一个项目是我称之为常见的东西,因为我将所有可共享/可重用的代码保留在它之下。

现在任何项目都可以通过添加现有项目选项来使用这个公共项目,这样源代码就不会移动到消费者项目中,在我的例子中是发票管理。

现在,如果我添加公共项目作为参考并运行我的 CI 管道,它会失败,因为它无法找到公共项目的路径,这很明显,因为它可能与我构建服务器的本地机器不同。 在此处输入图像描述

现在我知道的解决方案如下:

  1. 通用为 Nuget 包,在发票管理下使用。
  2. 在某个集中的文件服务器上构建通用项目 dll,并在发票管理中提供该路径以供参考,而不是绝对路径。

这两种解决方案都不容易实现,所以我正在寻找更好的快速解决方案来解决项目设置这样的情况并且必须执行 CI 构建。

0 投票
0 回答
445 浏览

jenkins - 如何解决“无法获取未知属性'sourceJar”

我使用 Gradle 在 Jenkins 中构建项目。但是在执行作业时,它会输出“Could not get unknown property 'sourceJar' for object of type org.gradle.api.publish.maven.internal.publication.DefaultMavenPublication”错误。我对这个错误一无所知。

错误:

脚本:(这是一个 bash 脚本;Gradle 版本 5.0)

build.gradle 文件(错误说问题在第 38 行,即“artifact sourceJar”行)

0 投票
1 回答
52 浏览

git - 在 Gitlab CICD 管道中创建自动版本标签

我有一个问题,我没有进一步说明。我想在推送到 Master 时自动在 Gitlab Pipline 中分配带有版本号的标签。现在的问题是 gitlab 不会进行正常的 git clone 或 git checkout 而是检查显式提交。我当前的版本号在一个名为 version 的文件中,该文件由 bash 脚本递增。

我的 Bash 脚本:

但是当我尝试将新版本推送到 git 时出现错误,因为它不在分支中。我怀疑我的方法从根本上是错误的,但我找不到更好的方法。你知道我怎样才能干净地实现这个吗?

0 投票
0 回答
47 浏览

gitlab - 在 gitlab 中批准 master 上的合并请求后运行 Pipline

我正在尝试设置我的 gitlab 管道,以便在接受合并请求之前管道不会启动。当我尝试定义规则时,它将在发出合并请求时开始,而不是在批准时开始。

我的尝试:

在...之前运行

从不跑...

管道不能在 push 上启动,而只能在 master 上的 mergeequst 已被批准时启动。我无法想象它不能工作。

0 投票
1 回答
542 浏览

yaml - 在多阶段管道中使用 DevOps 部署 Azure 静态 Web 应用

我目前正在开发将部署在 Azure 静态 Web 应用程序上的 Blazor WebAssembly 应用程序。现在我需要创建我的 CI/CD 管道,并且有一种非常简单的方法可以使用 AzureStaticWebApp 任务来构建和发布应用程序,如下所示:

但是,此任务同时构建和发布应用程序。在我的管道中,我想构建我的 Blazor 应用程序并将其存储为工件。在我的管道的一个阶段,这个工件将发布到测试环境,如果所有测试都通过,那么另一个阶段将把这个相同的工件发布到生产环境。目标是发布在生产环境中测试过的完全相同的工件。

有没有办法使用 AzureStaticWebApp 任务来完成这个任务,或者有什么替代方法吗?

0 投票
0 回答
18 浏览

jenkins - 无法使用 ec2 配置 jenkins

在 Jenkins 中配置系统时(Jenkins --> 管理 Jenkins --> 配置系统)我找到“通过 SSH 发布”部分并单击“添加”。我输入“名称”、“主机名”、“用户名”和“远程目录”。然后我点击“使用密码验证,或使用不同的密钥”复选框。我将适当的“密钥路径”输入到已知良好的 ppk 中,以获得用于连接到 Linux 服务器的 ssh 密钥。当我单击测试配置时,我收到以下错误:无法连接或更改目录 jenkins.plugins.publish_over.BapPublisherException:无法添加 SSH 密钥。消息 [无效的私钥:TheKey]

0 投票
2 回答
275 浏览

git - 是否可以在 Github 的公共存储库中创建私有分支?

我只是想知道这是否可能。目前我正在开发一个 Spring Boot 项目,它的application.properties文件包含一些敏感信息,如密码等,我正在尝试将这个 github 分支与我的 Heroku 应用程序连接起来以自动化部署。