我正在我的项目中实施持续集成 (Jenkins) 和部署。我们正在做手动测试。
我的要求如下。
任何人都可以建议如何在此处自动化该过程,因为我们正在进行手动测试?只有在修复所有错误后,我才需要触发部署。
continuous-integration continuous-deployment jenkins continuous-delivery jenkins-workflow
我试图根据当前的$ CIRCLE_BRANCH为CircleCI上的环境变量设置不同的值。我尝试在CircleCI设置中设置两个不同的值,并在部署阶段将它们相应地导出,但这是行不通的:
deployment:
release:
branch: master
commands:
...
- export API_URL=$RELEASE_API_URL; npm run build
...
staging:
branch: develop
commands:
...
- export API_URL=$STAGING_API_URL; npm run build
...
Run Code Online (Sandbox Code Playgroud)
我该如何实现?
提前致谢。
deployment bash continuous-integration continuous-deployment circleci
我创建了一个ARM模板来部署具有一组应用程序设置的服务.ARM模板中的一个参数没有默认值.目前,当我使用ISE运行部署脚本时,我被问到"为以下参数提供值:"(人工输入请求).
这很好,但这个脚本将自动化.如何将此动态变量传递到此字段?
臂:
"Paramters":{
"dynamicParam": {
"type": "string",
"metadata": {
"description": "dont know this until deployment"
}
}
}
Run Code Online (Sandbox Code Playgroud)
部署powershell是锅炉板.
powershell azure continuous-deployment azure-resource-manager azure-rm-template
在使用评论应用程序时,我注意到了一些奇怪的行为。我为我正在处理的拉取请求创建了一个审查应用程序。它的父级是我的登台应用程序。作为拉取请求的一部分,我多次迁移了数据库,并且我正在使用审查应用程序测试这些迁移。我正在使用 Rails。
我正准备合并更改并部署到暂存应用程序,但我注意到暂存应用程序中的数据已更改。自从我开始这项工作以来,还没有部署到登台。
例如,在登台时我有一个 QrCode 模型,该模型有一个 user_id。使用我的评论应用程序,我迁移了数据库以删除 user_id 列并创建一个具有 user_id 的新 Product 模型。现在在我的暂存应用程序中,user_id 列已从 QrCode 中删除,但新的 Product 模型不存在。就好像数据库中的现有表已更新为新模式,而没有添加新模式。
有没有其他人遇到过类似的问题,或者知道可能会发生什么?在部署到生产之前,我需要知道所有迁移都能正常工作。
continuous-integration activerecord ruby-on-rails heroku continuous-deployment
我正在使用 Fastlane 将我的 apk 自动部署到 hockeyApp。我正在尝试使用它上传发行说明,但我似乎无法读取存储库中的文件,但 fastlane 似乎无法找到它。这是来自 CI 服务器的崩溃报告。提前致谢。
Error in your Fastfile at line 86
[09:34:20]: 84: hockey(api_token: release_token,
[09:34:20]: 85: apk: apk_path,
[09:34:20]: => 86: notes: File.read(“./auto_deployment/release_notes.txt”))
[09:34:20]: 87: end
[09:34:20]: 88:
[09:34:20]: No such file or directory @ rb_sysopen - ./auto_deployment/release_notes.txt
Run Code Online (Sandbox Code Playgroud) 这是我的 Dockerfile
FROM node:10
RUN apt-get -qq update && apt-get -qq -y install bzip2
RUN yarn global add @bluebase/cli && bluebase plugins:add @bluebase/cli-expo && bluebase plugins:add @bluebase/cli-web
RUN bluebase plugins
Run Code Online (Sandbox Code Playgroud)
构建 docker 文件后,它会安装所有依赖项,最后一个命令会RUN bluebase plugins输出已安装的插件列表。但是当这个图像被推送并在 github 操作bluebase中使用时,全局可用但没有安装插件。我究竟做错了什么?
Github 工作流程
name: Development CI
on:
push:
# Sequence of patterns matched against refs/heads
branches:
- '*' # Push events on all branchs
- '*/*'
- '!master' # Exclude master
- '!next' # Exclude next
- '!alpha' # Exclude …Run Code Online (Sandbox Code Playgroud) continuous-integration continuous-deployment docker dockerfile github-actions
我知道 Webhook 用于从托管 git 存储库触发服务器端操作,CI/CD 代表托管 git 存储库的持续集成和持续部署/交付,但关键区别是什么,特别是当它们都是时由单个 git 托管服务提供商(如 GitLab 或 GitHub)提供吗?(对于 GitLab,这些指的是 Webhooks 和 CI/CD,而对于 GitHub,这些指的是 Webhooks 和 GitHub Actions。)
文档模糊地详细说明了 Webhook 如何以及如何用于触发 CI/CD,但与此同时,即使没有将显式 Webhook 添加到 git 存储库,供应商提供的 CI/CD 也可以运行。这是否意味着每个使用供应商提供的 CI/CD 的托管 git 存储库背后都有一个 Webhook?
我从上面的理解是,显式 Webhooks(与底层 Webhook 相反)可用于触发第 3 方 CI/CD,而 git 托管服务提供商的 CI/CD 是由同一方托管和运行的。它是否正确?
非常感谢发布答案的人。
git continuous-integration webhooks continuous-deployment github-actions
正如这里所讨论的,在 GitHub Actions 中有一种使用关键字引用job其他jobs 中的 s的好方法need,例如
name: Share data between jobs
on: [push]
jobs:
job_1:
name: Add 3 and 7
runs-on: ubuntu-latest
steps:
# Steps
job_2:
name: Multiply by 9
needs: job_1
# The rest of the job
Run Code Online (Sandbox Code Playgroud)
我在文档中找不到答案的问题是:有没有办法job在其他工作流中引用/共享s?(即单独的yml文件)。
我的项目由几个单独的工作流组成,每个工作流都需要执行相同的初始steps。我试图避免在不同的workflows 中复制粘贴相同的步骤。
continuous-integration github continuous-deployment devops github-actions
GitLab-CI 的新手,我正在尝试通过 Helm 在 Kubernetes 集群上进行部署。我有这个:
image: docker:stable
deploy:
stage: deploy
image:
name: alpine/helm:3.4.1
script:
- echo "Deploying to production"
- helm list --all-namespaces
Run Code Online (Sandbox Code Playgroud)
它失败了:
Error: unknown command "sh" for "helm"
Run Code Online (Sandbox Code Playgroud)
并且echo没有回显,但是,如果我要删除该echo行,则helmcmd 将成功执行。
我想我在问如何使多行脚本运行?gitlab-runner 如何执行script:数组中提供的一系列命令?
continuous-deployment gitlab gitlab-ci kubernetes kubernetes-helm
我对 Gitlab CI/CD 非常陌生,我非常仔细地阅读了它的文档,其中有关使用 file.js 创建新的 CI/CD 进程.gitlab-ci.yml。正如我发现的,为了进行持续部署(也称为 CD),需要在我的 linux 服务器上注册一个新的 gitlab-runner。
解释
这是我的.gitlab-ci.yml文件:
stages:
- build
- deploy
docker-build:
image: docker:stable
services:
- docker:dind
stage: build
only:
refs:
- ci-test
before_script:
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
script:
- docker build --pull -t $CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA .
- echo $CI_REGISTRY_IMAGE
- echo $CI_COMMIT_SHORT_SHA
- docker tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA $CI_REGISTRY_IMAGE:latest
- docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA
- docker push $CI_REGISTRY_IMAGE:latest
deploy:
image: docker:stable
stage: deploy
services:
- …Run Code Online (Sandbox Code Playgroud) continuous-integration continuous-deployment continuous-delivery gitlab-ci gitlab-ci-runner
gitlab-ci ×2
activerecord ×1
android ×1
azure ×1
bash ×1
circleci ×1
deployment ×1
devops ×1
docker ×1
dockerfile ×1
fastlane ×1
git ×1
github ×1
gitlab ×1
heroku ×1
jenkins ×1
kubernetes ×1
powershell ×1
travis-ci ×1
webhooks ×1