写点什么

通过 AWS CodeCommit 将 Phabricator 与 AWS CodePipeline 集成

  • 2019-10-10
  • 本文字数:1791 字

    阅读完需:约 6 分钟

通过 AWS CodeCommit 将 Phabricator 与 AWS CodePipeline 集成

要实现真正的开发运营文化,需要实施从开发到生产的持续集成和持续交付 (CI/CD) 管道,这通常要将常见的开源工具与 AWS CodeCommit 和 AWS CodePipeline 等云服务集成。在这篇博文中,Junaid Kapadia 展示了如何将开源代码管理器 Phabricator 集成到基于云的 CI/CD 管道中。


Asif Khan


Aetion Evidence Platform 通过分析真实数据提供制定监管级决策所需的证据,从而改善医疗保健。该平台会以评估治疗的预期价值和实际价值所需的精细程度以及实现整个医疗保健生态系统实时协作所需的速度生成真实的证据。


Phabricator 是一种完全开源的、基于 Web 的可扩展软件开发套件,用于管理冲刺、审查代码、跟踪缺陷、托管代码库(如 git、svn 或 Mercurial),通过持续集成进行构建、审查设计,并与团队成员开展协作等。作为其内部工作流程的一部分,Aetion 使用 Phabricator 的自托管版本,通过基于 git 的修订控制进行源代码管理。


Aetion 现在正在向云端迁移。在迁移过程中,我们需要使用 AWS 开发人员工具(如 AWS CodeCommit 和 AWS CodePipeline)构建新的 CI/CD 管道。为了避免破坏现有工作流程,我们需要将 Phabricator 集成到这个新的管道中。

解决方案概览

在 AWS CodePipeline 中,源阶段是工作流中事件的初始触发器。目前支持的源阶段包括 S3、Github 和 CodeCommit,但目前 Phabricator 并非原生受支持的源阶段。为了继续使用 Phabricator 的审核功能而不破坏我们现有的开发人员工作流程,我们必须找到一种通过 AWS CodeCommit 将 Phabricator 与 AWS CodePipeline 集成的方法。


我们决定使用自托管版本的 Phabricator 在 AWS 上的私有 VPC 中进行修订控制,并将其与 AWS CodeCommit 集成。在此设计中,连续交付管道通过 Phabricator 触发和管理。


Phabricator 具有多个特定于 URI 的选项,可提供许多功能。比如,镜像存储库的能力。Aetion 在 AWS 账户中创建了一个空的 CodeCommit 存储库,并将 Phabricator 存储库镜像到此存储库。因此,对 Phabricator 存储库的每次提交都会导致针对 CodeCommit 存储库的镜像提交操作。通过使用这种简单的集成方法,Aetion 可使用 AWS CodeCommit 作为源阶段并使用 AWS CodePipeline 部署应用程序。


分步详解

第 1 步:设置 Phabricator。有关详细步骤,请参阅 Phabricator 安装指南。


第 2 步:将 Phabricator 存储库与 AWS CodeCommit 集成


1.转到 AWS 管理控制台,选择 CodeCommit,创建 CodeCommit 存储库,并复制 SSH URI。


2.创建存储库 URI:在 Phabricator 存储库中,单击 Manage Repository (管理存储库) -> URI -> Add New URI (添加新 URI)。


3.输入 CodeCommit 存储库的 SSH URI。


4.选择 Mirror (镜像) 作为所需的 I/O 类型。



选择所需的 Display Type (显示类型)。在此实施中,我们选择的是“Hidden: Do not show as a clone url”(隐藏:不显示为克隆 URL)。


创建新 URI 后,单击 Update Credential (更新凭证) -> Add Credential (添加凭证)。添加可以访问 CodeCommit 存储库的 SSH 私钥,并指定 IAM 用户。用户需要生成 SSH 密钥对并将其附加到有权访问所用适当 CodeCommit 存储库的 IAM 用户。


现在,每次向 Phabricator 存储库推送都会导致向相应 CodeCommit 存储库的推送。这允许您在不修改基础开发者工作流的情况下,将 Phabricator 存储库提交作为管道触发器的依据。随后,您可以按照步骤 to 创建一个简单的管道。

小结

通过上述设计,我们能够在不影响工作效率的情况下,成功整合现有的开发工作流程。通过 AWS CodePipeline、AWS CodeBuild、AWS CloudFormation、AWS Systems Manager Parameter Store 和 Amazon Elastic Container Service (Amazon ECS),这种集成使我们能够继续从 Chef、Jenkins 和基于 EC2 的架构迁移到容错、高度可用、持续预配置和部署的架构。您可以在我们的 2018 年 re:Invent 研讨会 Aetion 向 AWS CodePipeline、AWS CloudFormation 和 Amazon ECS 迁移之旅中进一步了解此过程。


作者介绍:


Junaid Arif Kapadia


Junaid Arif Kapadia 是 Aetion Inc. 的高级软件工程师和工程经理。他负责交付云、内部部署和混合解决方案,同时领导着一支践行 DevSecOps 理念的工程师团队。他拥有信息技术系统学士学位和信息系统硕士学位,主修技术管理和云计算。


本文转载自 AWS 技术博客。


原文链接:


https://amazonaws-china.com/cn/blogs/china/integrating-phabricator-codepipeline-codecommit/


2019-10-10 13:551087
用户头像

发布了 1870 篇内容, 共 133.9 次阅读, 收获喜欢 81 次。

关注

评论

发布
暂无评论
发现更多内容

阿里耗时1年:用283张图+24问完美诠释“Java并发编程”所有难点

做梦都在改BUG

Java 并发编程

阿里P8:Java性能调优(独孤版),带你打造淘宝秒杀架构

做梦都在改BUG

Java 架构 性能调优

原来XXL-JOB可以这么造

六月的雨在InfoQ

Serverless XXL-JOB SAE 三周年连更

Seata:连接数据与应用

阿里巴巴云原生

阿里云 云原生 seata

从此告别写SQL!DataLeap帮你零门槛完成“数据探查”

字节跳动数据平台

MySQL 数据分析 数据治理 数据探查 企业号 4 月 PK 榜

镭速Raysync v6.6.8.0版本发布

镭速

带你用三种不同的工具体验AI作诗

华为云开发者联盟

云计算 华为云 华为云开发者联盟 企业号 4 月 PK 榜

数说热点|春暖花开日,露营正当时——当精致露营遇上新能源车

MobTech袤博科技

面试了个阿里P7大佬,他让我见识到什么才是“精通高并发与调优”

做梦都在改BUG

Java 高并发 性能调优

云原生助力数字原生企业业务快速迭代|阿里云峰会精彩回顾

阿里巴巴云原生

阿里云 云原生

详解,LED显示屏灰度等级

Dylan

灰度 LED显示屏 色彩

MySQL8.0 优化器介绍(二)

GreatSQL

MySQL greatsql greatsql社区

OpenHarmony3.2release抢先体验

坚果

OpenHarmony 三周年连更

如何将一个链表分组并对每组进行反转?

Java你猿哥

Java 链表 架构师 SSM框架 链表结构

RocketMQ 多级存储设计与实现

阿里巴巴云原生

阿里云 RocketMQ 云原生

优秀的pdf编辑器:Acrobat Pro DC 中文直装版

真大的脸盆

Mac PDF Mac 软件 PDF格式转换

面试官:如何动态的给一个类增加功能?

做梦都在改BUG

高性能存储SIG月度动态:ANCK ublk完成POC测试,EROFS优化xattr元数据开销

OpenAnolis小助手

操作系统 内核 高性能存储 龙蜥社区 sig

Github上标星68.5K,阿里巴巴《MySQL成长手册》火了

做梦都在改BUG

Java MySQL 数据库

如何解决spring的循环依赖问题?

做梦都在改BUG

Java spring 循环依赖

人工智能会取代人类成为地球的主宰么?| 社区征文

毛小毛

人工智能 ChatGPT 三周年征文

记一次 MySQL 主从同步异常的排查记录,百转千回

做梦都在改BUG

Java MySQL 主从同步

从零开始学习 GraphQL:入门指南和教程

Apifox

程序员 gRPC 后端 协议 graphql

直播预告 | TDengine & Apache SeaTunnel 联合应用最佳实践

TDengine

Apache tdengine 时序数据库

eBPF动手实践系列一:解构内核源码eBPF样例编译过程

阿里云大数据AI技术

运维 代码 企业号 4 月 PK 榜

SpringBoot设计了哪些可拓展的机制?

做梦都在改BUG

Spring Cloud微服务网关Zuul过滤链实现的源码解读

做梦都在改BUG

架构师才需要学习的知识:亿级流量调优方法+实战

做梦都在改BUG

Java 性能优化 性能调优

零拷贝浅析

数新网络官方账号

大数据 零拷贝

ChatGPT的狂欢背后:短板犹在,启发甚多,2023有这些事可以做……

小红书技术REDtech

人工智能 ChatGPT 活动回顾

对话大咖 | 人工智能+视频编解码能带来新的变革吗

小红书技术REDtech

人工智能 深度学习 活动回顾

通过 AWS CodeCommit 将 Phabricator 与 AWS CodePipeline 集成_语言 & 开发_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章