标签: continuous-deployment

检查套件完成后如何触发 Github 工作流程?

我只想在特定工作流程完成时触发工作流程...有人知道该怎么做吗?

一些背景:

  • 我有一个工作流程Tests,另一个称为Build-feature.
  • Tests我在每个 PR 到分支上运行我的工作流程feature
  • 如果某些内容被推送/合并到分支feature,那么我想运行工作流程Tests,并且只有当成功时我才想运行Build-feature工作流程。

还有一个事件check_suite应该触发工作流程:https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows#check-suite-事件检查套件

我尝试了这个例子:

on:
  check_suite:
    types: [rerequested, completed]
Run Code Online (Sandbox Code Playgroud)

但我的工作流程从未触发,有什么想法吗?或者关于如何实现上述目标的任何其他想法?

continuous-integration github continuous-deployment devops github-actions

3
推荐指数
1
解决办法
2227
查看次数

使用 Github Actions 进行部署

我使用Github作为我的源代码管理,并使用Github Actions作为我的 CI/CD 解决方案。我在某处有一个专用的 Windows Server,它接受我的存储库的已发布版本。

我有一个 Github Action,它可以进行构建、测试、发布和部署(使用 FTP)。我不相信“部署”的想法。例如,假设我的网站有一个巨大的代码库,然后每次我们进行提交(推送)时进行 FTPing 并不是一个富有成效的想法(我正在发布已发布的目录......而不是我的服务器的源代码)。有时,由于 IIS 锁定文件,FTPing 根本不起作用。使用 Github Actions(或任何其他提供商)将文件发布/部署到远程服务器的最可靠方法是什么。

下面是我的示例 Yaml 文件...

name: .NET Core

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v2
    - name: Setup .NET Core
      uses: actions/setup-dotnet@v1
      with:
        dotnet-version: 2.1
    - name: Install dependencies
      run: dotnet restore
    - name: Build
      run: dotnet build --configuration Release --no-restore
    - name: Test …
Run Code Online (Sandbox Code Playgroud)

github continuous-deployment asp.net-core github-actions

3
推荐指数
1
解决办法
9137
查看次数

如何通过 SSH 从 Github Action 执行命令到白名单服务器?

我在尝试使用 Github Action 将 CI/CD 应用到我们的项目时遇到了问题。服务器有防火墙,仅允许对列出的 IP 进行访问。

我找到了一个使用 Github meta api https://api.github.com/meta的方法,但他们拒绝申请。

还有其他方法可以应用这个吗?

我们目前的ci.yml

name: remote ssh
on:
  push:
    branches: [ master ]

jobs:
  build:
    name: Build
    runs-on: ubuntu-latest
    steps:
      - name: execute ssh command via using private key
        uses: appleboy/ssh-action@master
        with:
          host: ${{ secrets.REMOTE_HOST }}
          username: ${{ secrets.REMOTE_USER }}
          key: ${{ secrets.CICD_SSH_KEY }}
          port: ${{ secrets.PORT }}
          script:
            pwd
Run Code Online (Sandbox Code Playgroud)

continuous-deployment github-actions

3
推荐指数
1
解决办法
6251
查看次数

错误:Azure Pipelines 中的 XML 转换错误

我花了一天时间试图找出 Azure DevOps 中 XML 转换错误的根源,但我似乎无法解决该问题。在本地,配置转换工作正常,并且配置转换适用于我要部署到的在 Azure DevOps 中工作的其他环境。

IIS Web App 部署任务终止时日志中出现的错误是:

2021-02-26T15:29:49.9263250Z ##[error]Error: XML transformation error while transforming C:\...\Web.config using C:\...\Web.Live.config.
Run Code Online (Sandbox Code Playgroud)

显然,我已经删除了 Azure DevOps 应用的长文件路径。

在 IIS Web 应用程序部署任务日志中,会显示以下错误,但未突出显示为重要错误。Aster 记录了此错误,它似乎确实应用了转换,然后给出了上述终止进程的错误:

2021-02-26T15:29:49.9178971Z System.NullReferenceException: Object reference not set to an instance of an object.
2021-02-26T15:29:49.9180071Z    at Microsoft.Web.XmlTransform.XmlTransformationLogger.ConvertUriToFileName(XmlDocument xmlDocument)
2021-02-26T15:29:49.9180525Z    at Microsoft.Web.XmlTransform.XmlTransformationLogger.LogWarning(XmlNode referenceNode, String message, Object[] messageArgs)
2021-02-26T15:29:49.9180911Z    at Microsoft.Web.XmlTransform.Transform.ApplyOnAllTargetNodes()
Run Code Online (Sandbox Code Playgroud)

我已经检查了 XML 文件,但找不到任何格式错误的 XML,我还通过 XML 验证器运行了它。我已经在 Visual Studio 2019 Professional 中本地预览了转换(可以使用 Slow Cheetah),效果也很好。

任何人都可以指出什么可能导致管道中的这种转换错误吗?

asp.net web-config azure continuous-deployment azure-devops

3
推荐指数
1
解决办法
2789
查看次数

在 CircleCI 工作流程或作业后触发 Github 操作

我想设置 github 操作,以便对 docker 映像执行安全扫描。然而,我想要扫描的图像的构建和推送是由 CircleCI 完成的。因此,在执行安全扫描之前,我需要确保图像已正确构建并推送到我的存储库上。

我知道存在一个触发 CircleCI 作业的操作,但是有没有办法从 Circle CI 触发我的 Github 操作的执行?

感谢您的回答或您可以提供的任何解决方法:)

continuous-integration continuous-deployment docker circleci github-actions

3
推荐指数
1
解决办法
1933
查看次数

如何在 Cloud Run 中自动部署来自 Cloud Build 的最新映像

我用于部署Angular的CI/CD管道管道已关闭,但我发现在更新容器映像后,Google Cloud Run 不会部署新版本。

我已将 Cloud Build 设置为在更新 GitHub 上的分支时触发构建。这工作正常,我看到我得到了一个以提交哈希命名的新图像。我期望 Cloud Run 触发其服务,获取最新的映像并部署它,但它没有运行。我不确定是否需要更改图像名称,以便它们由于SHA-1哈希值而变得不唯一。

continuous-deployment google-cloud-platform google-cloud-build google-cloud-run

3
推荐指数
1
解决办法
2479
查看次数

Docker 构建错误:无法连接到位于 unix:///var/run/docker.sock 的 Docker 守护进程。docker 守护进程是否正在运行?

我需要一个简单的解决方案来构建 docker 映像,将其推送到 ECR,并将其部署到 ECS。

最后一部分正在将 ECR 映像部署到 ECS。(我正在使用一个deploy.py简短的脚本,该脚本使用Python的AWS boto3 SDK,发现它比使ECS Orb工作更容易......)

然而,我在第一部分中遇到了困难,需要帮助。我只需要自动化简单的docker build,docker tagdocker push。这很简单,但我不知道我做错了什么。

谁能帮我?它遵循代码,我在本地运行它以进行调试:

version: '2.1'
jobs:
  build:
    docker:
      - image: cimg/python:3.8 
    environment:
      AWS_ACCESS_KEY_ID: yadayadayada
      AWS_SECRET_ACCESS_KEY: yadayadayada
      AWS_DEFAULT_REGION: yadayadayada
    steps:
      - checkout
      - run: |
          docker build -t myimg .
          docker tag myimg:latest asdf.dkr.ecr.asdf.amazonaws.com/asddf:latest
          docker push asdf.dkr.ecr.asdf.amazonaws.com/asdf:latest
          
          pip install boto3
          python deploy.py
Run Code Online (Sandbox Code Playgroud)

学习 CircleCI 真的很令人沮丧,对于初学者来说没有好的资源......

提前致谢!

continuous-integration continuous-deployment docker circleci

3
推荐指数
1
解决办法
3627
查看次数

我可以在java中持续交付的任何东西?

如果我使用的是python,我可能希望使用它pip作为一个很好的安装程序来进行持续交付,具有良好的存储库集成和脚本功能.
我在java中有类似的东西,在连续部署中对我有用吗?

有人可以推荐我如何在java中进行完全持续部署吗?

我将拥有多个具有复杂配置的服务器和具有数据库的巨大多个集群,NOSQL(并且对于一些项目使用maven而其他项目只是下载了pacakges)等等......任何人都有推荐吗?

我认为pip是一个非常好的安装程序,可以帮助我,任何人都有经验可能ubuntu juju吗?

但是,如果我使用ubuntu juju,这意味着我将不得不使用基于ubuntu的服务器,而不是使用centos.

java continuous-deployment

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

在考虑App Store审核时间的同时遵守git流规则

我们一直在为我们的iOS项目快乐地使用git flow.然而,今天我发现了一些事情,这意味着我们实际上并没有遵循git flow规范.

当我们开始对发布版进行最终测试时,我们会向组织内的数百人发布BETA版本.现在,这个BETA基本上是一个候选发布者,因为没有发现其他错误,在这种情况下,它已经准备好发布App Store.由于有超过7天的审核时间,我们总是将此BETA上传到iTunes Connect并将其设置为等待审核.

在合并其发布分支后,我们从主分支上的标记释放此BETA.但是,git flow规定主分支必须反映当前正在生产的内容.现在,总是有一个等待时间,直到它实际上在生产中(所以我们不能打破git流模型),但是如果在这个BETA中发现了严重的错误,我们将它从审查队列中删除,这意味着它不会被释放,现在最新的主人承诺并没有反映出生产中会发生什么.

你如何在工作流程中解决这个问题?

git continuous-integration continuous-deployment ios git-flow

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

Gitlab CI部署失败:gitlab-ci.yml运行期间“ bash:pm2:命令未找到”

我正在从GitLab部署Next.JS应用程序直接到我的远程服务器。我已经配置了一个变量,该变量包含我的私有SSH密钥,以便连接到远程服务器,并且我正在使用rsync从dockerRunner复制到我的远程服务器。当我在SSH上使用PM2重新启动服务时,一切工作到最后一行。

image: node:latest

stages:
  - build
  - test
  - deploy

cache:
  paths:
    - node_modules/
    - .next/

install_dependencies:
  stage: build
  script:
    - npm install
    - npm run build
  artifacts:
    paths:
      - node_modules/
      - .next/

test-build:
  stage: test
  script:
    - npm run test

deploy_production:
  stage: deploy
  only:
    - master
  before_script:
    - "which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )"
    - mkdir -p ~/.ssh
    - eval $(ssh-agent -s)
    - '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking …
Run Code Online (Sandbox Code Playgroud)

continuous-integration continuous-deployment gitlab gitlab-ci next.js

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