折纸服务 Make 文件
建立和管理 " origami " 服务的共同工具.
目录
使用量
Origami Service Makefile提供一套共同的工具,是建设和运行Origami服务所需的. 要使用 Make 文件, 请复制 boilerplate.mk 文件到您的 repo 根并命名 Makefile数字 :
curl https://raw.githubusercontent.com/Financial-Times/origami-service-makefile/master/boilerplate.mk > Makefile
现在安装此模块并保存到您的 package.json 文件 :
npm install --save @financial-times/origami-service-makefile
您现在应该可以运行以下命令 :
make install # Install application dependencies
make verify # Verify code using static analysis
make test # Run unit and integration tests
make run # Run the application as if in production
make run-dev # Run the application and restart when files change
make deploy # Deploy the application to QA
make release # Run required tasks before a release goes live
make promote # Promote a QA deploy to production
make auto-version # Auto-version the repo and create a GitHub release
make cmdb-update # Update CMDB endpoints for the application
make release-log # Create a release log for the application in Salesforce
make grafana-pull # Pull changes from the Grafana dashboard
make grafana-push # Push changes to the Grafana dashboard
配置
Origami Service Makefile可以在扩展的Makefile或外部配置出[环境变量]. 由于安全原因,一些配置永远不能投入使用,这些配置在下文中已分开.
安全配置
这些配置可以安全包含在您的扩展中 Makefile,以及 应 保存在那里,以避免重复其价值观:
SERVICE_NAME:这一服务的人可读取的名称,在许多任务中使用. 举个例子.Origami Image ServiceSERVICE_SYSTEM_CODE:此服务的系统代码,在许多任务中使用. 举个例子.origami-image-serviceSERVICE_SALESFORCE_ID: 与此服务相關的 Salesforce ID, 用于创建发布日志HEROKU_APP_QA: QA. E. 等的Heroku应用程序ID.origami-image-service-qaHEROKU_APP_EU: Heroku 生产欧盟的应用程序ID. 举个例子.origami-image-service-euHEROKU_APP_US:美国生产的Heroku应用程序ID. 举个例子.origami-image-service-usEXPECTED_COVERAGE:一个数字,表示应用程序单位测试的预期代码覆盖. 默认为90INTEGRATION_TIMEOUT:每次集成测试允许运行的时间以毫秒为单位. 默认为5000INTEGRATION_SLOW:每次集成测试都被认为是缓慢时间以毫秒为单位. 默认为4000INTEGRATION_FLAGS: 任何必须传递给mocha当进行整合测试时.REGION:应用程序运行的区域,用于发布日志,并确定需要哪些发布任务. 一个QA, (中文(简体) ),EU,或USRELEASE_LOG_ENVIRONMENT: 将销售力环境列入发行日志。 一个Test或者说ProductionGRAFANA_DASHBOARD: 用于应用程序的Grafana仪表板标识GITHUB_RELEASE_REPO: GitHub 仓库在owner/name格式。 用于自动转换
私人配置
这些配置绝不能出现在您的源代码中, 因此应该设置在 CI, 或 Heroku, 或一个 .env 本地文件 :
CMDB_API_KEY: 用于执行CMDB 操作的 API 密钥RELEASE_LOG_API_KEY: 更改请求创建和关闭发布日志时使用的 API 密钥GRAFANA_API_KEY: 执行 Grafana 操作时使用的 API 密钥GITHUB_RELEASE_USER: 使用自动转换任务在 GitHub 为寄存器创建版本的用户 。 此用户必须拥有写入权限GITHUB_RELEASE_REPOGITHUB_RELEASE_TOKEN: 一个符号GITHUB_RELEASE_USER它已经repo级别访问
联系人
如果您对本单元有任何问题或评论,或需要帮助使用,请 提出问题访问 #origami - 支持 或电子邮件 折纸支持。 。 。 .
许可证
本软件由金融时报根据以下规定出版: 麻省理工学院许可证。 。 。 .