我只想在特定工作流程完成时触发工作流程...有人知道该怎么做吗?
一些背景:
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
我使用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 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) 我花了一天时间试图找出 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),效果也很好。
任何人都可以指出什么可能导致管道中的这种转换错误吗?
我想设置 github 操作,以便对 docker 映像执行安全扫描。然而,我想要扫描的图像的构建和推送是由 CircleCI 完成的。因此,在执行安全扫描之前,我需要确保图像已正确构建并推送到我的存储库上。
我知道存在一个触发 CircleCI 作业的操作,但是有没有办法从 Circle CI 触发我的 Github 操作的执行?
感谢您的回答或您可以提供的任何解决方法:)
continuous-integration continuous-deployment docker circleci github-actions
我用于部署Angular的CI/CD管道管道已关闭,但我发现在更新容器映像后,Google Cloud Run 不会部署新版本。
我已将 Cloud Build 设置为在更新 GitHub 上的分支时触发构建。这工作正常,我看到我得到了一个以提交哈希命名的新图像。我期望 Cloud Run 触发其服务,获取最新的映像并部署它,但它没有运行。我不确定是否需要更改图像名称,以便它们由于SHA-1哈希值而变得不唯一。
continuous-deployment google-cloud-platform google-cloud-build google-cloud-run
我需要一个简单的解决方案来构建 docker 映像,将其推送到 ECR,并将其部署到 ECS。
最后一部分正在将 ECR 映像部署到 ECS。(我正在使用一个deploy.py简短的脚本,该脚本使用Python的AWS boto3 SDK,发现它比使ECS Orb工作更容易......)
然而,我在第一部分中遇到了困难,需要帮助。我只需要自动化简单的docker build,docker tag和docker 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
如果我使用的是python,我可能希望使用它pip作为一个很好的安装程序来进行持续交付,具有良好的存储库集成和脚本功能.
我在java中有类似的东西,在连续部署中对我有用吗?
有人可以推荐我如何在java中进行完全持续部署吗?
我将拥有多个具有复杂配置的服务器和具有数据库的巨大多个集群,NOSQL(并且对于一些项目使用maven而其他项目只是下载了pacakges)等等......任何人都有推荐吗?
我认为pip是一个非常好的安装程序,可以帮助我,任何人都有经验可能ubuntu juju吗?
但是,如果我使用ubuntu juju,这意味着我将不得不使用基于ubuntu的服务器,而不是使用centos.
我们一直在为我们的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
我正在从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