在第一次尝试一个包含4个阶段和1个作业的旧管道时,我遇到了一个故障,当管道仅在运行时重试步骤4和步骤1
我的gitlab ci。yml
stages: - build - deploy - clean before_script: … variables: GIT_SUBMODULE_STRATEGY: recursive GIT_STRATEGY: clone build: stage: build script: - git submodule init - git submodule update -f allow_failure: false when: manual only: - master production: stage: deploy script: - ssh $DEPLOY_SERVER_USER@$DEPLOY_SERVER_ADDRESS "[ -f /usr/bin/rsync ] || apt-get install -qq -y rsync && [ -f /usr/bin/getfacl ] …. » allow_failure: false rollback: stage: clean script: - ssh $DEPLOY_SERVER_USER@$DEPLOY_SERVER_ADDRESS "[ -d /var/www/old/ ] … exit 1" when: on_failure allow_failure: false cleanup: stage: clean script: - ssh $DEPLOY_SERVER_USER@$DEPLOY_SERVER_ADDRESS "rm -rf /var/www/old && rm -rf /var/www/new && rm -rf /var/www/acl" when: on_success allow_failure: false
或者,在我的git工作流程中,将我的主机还原为所需的提交不是更合乎逻辑吗?
是的,正确的方法是先还原代码,然后再次运行管道。
但在某些情况下,我们没有时间修复代码,需要进行紧急回滚。
但是看看你的管道,你的步骤构建是无用的。
您还需要将git子模块
命令移动到其他步骤,因为其他作业只使用原始代码,而不使用子模块的内容
问题内容: 我的部门目前承担着维护相当大的COBOL代码库的任务。我们想知道如何添加新功能来满足业务需求。如今,COBOL程序员很难再出现了,我们还认为,使用Java或C#等更现代的语言可以提高生产率。 我们认为我们有四个选择: 从头开始重写所有内容,将旧应用程序留给自己,直到准备好进行替换 从头开始重写所有内容,使一些人可以维护旧的应用程序,以适应新的业务需求。 用现代语言编写所有新功能,并找到
作为本章的第一节,首先要搞清楚一个问题,Linux 系统中为什么需要设定不同的权限,所有用户都直接使用管理员(root)身份不好吗? 由于绝大多数用户使用的是个人计算机,使用者一般都是被信任的人(如家人、朋友等)。在这种情况下,大家都可以使用管理员身份直接登录。但在服务器上就不是这种情况了,往往运行的数据越重要(如游戏数据),价值越高(如电子商城数据、银行数据),则服务器中对权限的设定就要越详细,
我不是一个有经验的程序员,我对Java的了解很少。 代码是 我用铸造把它修好了。 但还有一个问题我无法解决 software.jar是整个包 谢谢你
我是Spring的新手,尝试用一个简单的测试实现Spring重试。但是我不能让它工作,希望有人能告诉我我做错了什么。我还想知道,是否可以编写单元测试来验证Spring重试已经尝试了请求的最大重试次数?因为到目前为止,谷歌搜索似乎只能在集成测试中工作,因为它需要Spring首先设置上下文。
家谱 假设我们有这样一个家谱图: 我们现在的任务是将这个家谱图写成程序代码的形式。请打开你最喜欢的文本编辑器,输入以下代码。 male(di). male(jianbo). female(xin). female(yuan). female(yuqing). father(jianbo,di). father(di,yuqing). mother(xin,di). mother(yuan,yuqi