这三个术语有什么区别?我的大学提供以下定义:
持续集成基本上只意味着开发人员的工作副本每天都会与共享主线同步几次.
持续交付被描述为持续集成的逻辑演变:始终能够将产品投入生产!
持续部署被描述为持续交付后的逻辑下一步:每当通过QA时自动将产品部署到生产中!
它们还提供警告:如果您能够连续部署到测试系统,有时也会使用术语"持续部署".
所有这些让我感到困惑.任何更详细的解释(或附带一个例子)是值得赞赏的!
continuous-integration continuous-deployment continuous-delivery
我对我的 AWS 账户中的 IAM 用户设置了以下访问策略。该策略引用存储桶名称“xo-staging”。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AccessToGetBucketLocation",
"Effect": "Allow",
"Action": [
"s3:GetBucketLocation"
],
"Resource": [
"arn:aws:s3:::*"
]
},
{
"Sid": "AccessToWebsiteBuckets",
"Effect": "Allow",
"Action": [
"s3:PutBucketWebsite",
"s3:PutObject",
"s3:PutObjectAcl",
"s3:GetObject",
"s3:ListBucket",
"s3:DeleteObject"
],
"Resource": [
"arn:aws:s3:::xo-staging",
"arn:aws:s3:::xo-staging/*"
]
},
{
"Sid": "AccessToCloudfront",
"Effect": "Allow",
"Action": [
"cloudfront:GetInvalidation",
"cloudfront:CreateInvalidation"
],
"Resource": "*"
}
]
}
Run Code Online (Sandbox Code Playgroud)
我正在将 Gatsby 应用程序从本地计算机部署到 Github,其中我使用 Github Actions 来运行构建和部署脚本。
在我的 package.json 文件中,我已将“deploy”设置为 的值,gatsby-plugin-s3 deploy --yes; export AWS_PAGER=\"\"; aws cloudfront create-invalidation --distribution-id E5FDMTLPHUTLTL …
deployment github amazon-s3 amazon-web-services continuous-deployment
我使用以下方法远程调用Jenkins作业:
wget http://<ServerIP>:8080/job/Test-Jenkins/build?token=DOIT
Run Code Online (Sandbox Code Playgroud)
这里Test-Jenkins调用了job,它DOIT是我使用过的安全令牌.
现在我需要将一些参数传递给此作业的build.xml文件,即Test-Jenkins.
我还没有弄清楚如何传递变量.
continuous-integration continuous-deployment jenkins continuous-delivery
我有一个具有两个工作流程的 monorepo:
.github/workflows/test.yml
name: test
on: [push, pull_request]
jobs:
test-packages:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: test packages
run: |
yarn install
yarn test
...
Run Code Online (Sandbox Code Playgroud)
.github/workflows/deploy.yml
name: deploy
on:
push:
tags:
- "*"
jobs:
deploy-packages:
runs-on: ubuntu-latest
needs: test-packages
steps:
- uses: actions/checkout@v1
- name: deploy packages
run: |
yarn deploy
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
...
Run Code Online (Sandbox Code Playgroud)
这不起作用,我无法在另一个工作流程中引用作业:
### ERRORED 19:13:07Z
- Your workflow file was invalid: The pipeline is not valid. The pipeline must contain at least …Run Code Online (Sandbox Code Playgroud) continuous-integration github continuous-deployment github-actions
我需要来自Artifactory中的存储库的最新工件(例如,快照).需要通过脚本将此工件复制到服务器(Linux).
我有什么选择?像Wget/SCP这样的东西?我如何获得工件的路径?
我找到了一些需要Artifactory Pro的解决方案.但我只有Artifactory,而不是Artifactory Pro.
是否有可能在没有用户界面的情况下从Artifactory下载而没有Pro-Version?有什么经历?
如果重要的话,我正在使用OpenSUSE 12.1(x86_64).
我使用Visual Studio 2017(Community Edition)创建了一个ASP.NET Core Web API应用程序.我可以使用Visual Studio成功发布到Azure App Service.
我现在想要使用VSTS设置CI/CD.我使用了Visual Studio中的"配置持续交付"选项,该选项在VSTS中创建了一个项目并创建了一个构建定义.我必须在VSTS中基于'ASP.NET Core'模板创建一个新的构建定义,以避免Nuget恢复错误.现在构建解决方案并运行测试,但"发布"任务完成并发出警告 -
##[warning]No web project was found in the repository. Web projects are identified by the presence of either a web.config file or wwwroot folder in the directory.
Run Code Online (Sandbox Code Playgroud)
"发布工件"任务也有类似的警告 -
##[warning]Directory 'd:\a\1\a' is empty. Nothing will be added to build artifact 'drop'.
Run Code Online (Sandbox Code Playgroud)
显然,构建不会产生任何伪影.
我是否需要将任何构建任务添加到默认的ASP.NET Core构建模板中?如何使用VSTS将我的Web API发布到Azure?
azure continuous-deployment .net-core azure-devops asp.net-core
在某些情况下,我需要中止/结束一个非零状态代码的Chef运行,然后通过我们的部署链传播回来,最终传给Jenkins,导致一个大而肥胖的红球.
做这个的最好方式是什么?
我正在使用teamcity 8.xx版本.我配置了我的Teamcity以进行持续部署.我需要一个功能分支部署.我看到这个文档" http://confluence.jetbrains.com/display/TCD8/Working+with+Feature+Branches ".
我正在尝试在我的Teamcity上实施此文档.我有个问题.
我的部署配置使用"OctoPack"(nuget).我的nuget包需要构建计数和分支名称.示例:1.0.0.356-feature-1.
我试试这个版本,
%build.number% - %teamcity.build.vcs.branch.VCS_ROOT_ID%----> 1.0.0.356-refs/head/feature-1
这个版本不支持nuget版本控制.nuget不比较"/".
我需要这个,
%build.number% - %teamcity.build.vcs.SHORT_BRANCH_NAME.VCS_ROOT_ID%---> 1.0.0.356-feature-1
我怎么能够 ?
谢谢
最近我开始阅读有关使用虚拟化软件构建开发环境(我是初学者)的看法,并且"基础架构作为代码"似乎是一个非常强大的概念.
我非常喜欢这里描述的工作流程结构:
但是,我仍然不太明白如何在生产服务器上传输和部署代码.
据我所知,保持DEV和PROD环境相同的常用方法是将Production服务器实例管理为另一个要使用Chef配置的虚拟映像.我可以在Production服务器上安装完全相同的操作系统,因为我(和团队)每天都使用VirtualBox-Vagrant-Chef.
但是,生产服务器可能具有与虚拟客户机操作系统中的硬件不同的硬件,这可能会再次导致不一致.
所以,这是一个问题:
从使用VirtualBox-Vagrant-Chef工具链管理的开发环境向生产服务器传输和部署代码的已知和常见最佳做法是什么?这种做法是否允许任何持续部署?
[编辑]:注意:是否有任何在生产服务器上运行与Chef/Vagrant配置相同的VM实例的做法,如此图所示?
我想用jenkins部署到测试环境和生产环境.为此,我需要连接到所需环境的服务器,例如ssh/scp.
我想知道最好的方法是什么.
我找到了一些插件来做这件事,比如Jenkins-Deploy-Plug-in或Jenkins Publish over SSH Plugin.第一个问题很多,部署到生产中并不值得信赖,第二个问题需要更改全局配置,即每个部署的手动工作.
任何想法如何解决这个问题?也许有一些脚本或插件?
我目前唯一的想法是:将jenkins连接到服务器(可能使用SSH插件)并在那里执行连接到所需环境的脚本.但这是两个联系.这真的是必要的吗?我希望有一个更简单的方法.
谢谢你的暗示.
chef-infra ×2
github ×2
jenkins ×2
.net-core ×1
amazon-s3 ×1
artifactory ×1
asp.net-core ×1
azure ×1
azure-devops ×1
deployment ×1
git ×1
nuget ×1
puppet ×1
shell ×1
teamcity ×1
vagrant ×1
virtualbox ×1