使用Terraform安装

Following is a step by step guide to installing CircleCI Server v2.19.9 with Terraform.

Define Variables for Terraform

  1. Clone the设置存储库。如果您已经克隆了,请确保它是最新的,您就可以了masterbranch by running:

    git checkout master && git pull
  2. 转到顶部目录金宝博娱乐官网网址企业设置在您的本地机器上播放。

  3. Terraform Init.至initialize your working directory.

  4. 制作init.初始化A.terraform.tfvars.file (your previousterraform.tfvars.如果有的话,将在同一目录中备份)。

  5. 打开terraform.tfvars.in an editor and fill in appropriate AWS values for section 1.

  6. 如果打算使用1.0构建器,请指定一个circle_secret_passphrase.in section 2, replacing......使用Alpha数字字符,如果没有,请留下它。默认情况下,在第3节中禁用1.0构建器。

  7. 为Nomad客户端指定用于使用的实例类型。默认情况下,指定的值terraform.tfvars.Nomad客户端的文件是m5.2xlarge.(8个VCPU,32GB RAM)。要增加每个Nomad客户端可以运行的并发circleci作业的数量,修改第2节terraform.tfvars.文件指定更大的文件nomad_client_instance_type。请参阅AWS亚马逊EC2实例类型guide for details, and read our guidance in the系统要求文件。

    builder_instance_type.仅用于Circleci 1.0,默认情况下禁用第3节。
  8. 在第3节中,您可以:

    1. 如果您的项目需要它,请选择使用1.0构建器(通过更改计数1

    2. 输入代理详细信息,然后在AWS区域内有多个安装,输入前缀 - 在AWS控制台中使用此前缀显示服务和Nomad客户端实例。

示例tfvars.
######################################## 1.所需云配置############################ AWS_ACCESS_KEY =“...”AWS_SECRET_KEY =“...”AWS_REGION =“EU-Central-1“aws_vpc_id =”...“aws_subnet_id =”...“aws_ssh_key_name =”...“####################################2.所需的Circleci配置########################### circle_secret_passphrase =“...”services_instance_type =“m4.2xlarge”builder_instance_type =“r3.4xlarge”nomad_client_instance_type =“m4.2xlarge”############################################################################################################################将其设置为“1”或更高版本,以启用Circleci 1.0 Builders use_builders_count =“0”#提供代理地址如果您的网络配置需要它http_proxy =“https_proxy =”“no_proxy=“”#使用此VAR如果在一个AWS区域前面有多个安装,则为“...”

以上是一个例子terraform.tfvars.您将编辑的文件。下表显示了一些默认设置,以及某些可选变量,可用于进一步自定义群集。可以在中找到完整的变量列表和默认值variables.tf.file in the root of the金宝博娱乐官网网址企业设置directory.

如果您需要安装在AWS GOVCLOUD上工作,则可以通过设置启用此功能启用_govcloud.true

Optional vars:

var. 描述 Default

services_instance_type.

中集服务框的实例类型。我们推荐一个m4实例

m4.2xlarge

builder_instance_type.

1.0 Builder计算机的实例类型。我们推荐R3实例

r3.2xlarge

max_builders_count.

最多1.0构建器的数量

2

nomad_client_instance_type

Instance type for the nomad clients (2.0 builders). We recommend a XYZ instance

m4.xlarge.

max_clients_count

Max number of nomad clients

2

字首

资源名称的前缀

Circleci.

EN.able_nomad

为Circleci服务器v2.x提供Nomad集群

1

启用_Route.

启用“服务”框的Route53路由

0.

启用_govcloud.

允许部署到AWS GOVCLOUD

false

services_user_data_enabled

Set to 0 to disable automated installation on Services Box

1

force_destroy_s3_bucket.

当安装关闭时,添加/删除强制销毁S3桶的能力

false

services_disable_api_termination

从API终止保护服务实例。如果您希望在安装关闭时自动终止服务框,则设置为false

true

Provision Instances

  1. 保存您的更改tfvars.文件并运行以下内容:

    terraform plan
  2. 要配置您的实例,请运行以下内容:

    Terraform适用

    You will be asked to confirm if you wish to go ahead by typing

  3. An IP address will be provided at the end of the Terraform output. Visit this IP to carry on the install process.

访问您的安装

  1. 您的浏览器可能会提示您使用SSL / TLS信息框。这只是通知您,在下一个屏幕上,您的浏览器可能会告诉您与管理控制台的连接不安全,但您可以自信地安全。单击“继续”设置并继续安装IP。

    SSL安全
    图1. SSL安全性
  2. 输入您的主机名。这可以是您的域名或服务机器实例的公共IP。此时,如果您拥有它们,您还可以上传SSL公钥和证书。要继续执行这些单击,请单击“使用自签名证书” - 选择此选项每次访问管理控制台时会提示安全警告。

    Hostname
    图2.主机名
  3. Upload your license.

  4. 决定如何保护管理控制台。你有三个选择:

    1. 匿名管理员访问控制台,8800端口上的任何人都可以访问(不推荐)

    2. 设置可用于安全访问管理控制台的密码(推荐)

    3. 使用现有的基于目录的身份验证系统(例如,LDAP)

      保护管理控制台
      Figure 3. Admin Password
  5. 您的Circleci安装将通过一组预检检查,一旦完成,向下滚动并单击“继续”。

    预检检查
    Figure 4. Preflight Checks

安装设置

You should now be on the Management Console settings page (your-circleci-hostname.com:8800).

您可以随时对此页面上的设置进行更改,但此处的更改将需要停机时间while the service is restarted. Some settings are covered in more detail in out Operations Guide.
  1. Hostname– The Hostname field should be pre-populated from earlier in the install process, but if you skipped that step, enter your domain or public IP of the Services machine instance. You can check this has been entered correctly by clicking Test Hostname Resolution.

  2. 服务- 服务部分仅在外部化服务时使用。外部化可提供铂金服务合同。联系support@www.drag240sx.com.如果您想了解更多信息。

    主机名和服务设置
    图5.外部服务
  3. 执行发动机- 如果您需要遗留项目,则仅选择1.0构建器 - 大多数用户将不会取消选中此功能。

  4. 建设者配置- 2.0部分中的群集。单个框选项将在服务机器上运行作业,而不是专用实例,因此仅适用于系统,或为某些小型团队进行试验。

    执行引擎
    图6. 1.0和2.0构建器
  5. GitHub.Integration- 通过按照页面上提供的说明将Circleci注册为Github.com或GitHub Enterprise的新OAuth应用程序。金宝博娱乐官网网址

    If you get an "Unknown error authenticating via GitHub. Try again, or contact us." message, try usinghttp:代替https:对于主页URL和回调URL。
    1. 从GitHub中复制客户端ID和秘密并将其粘贴到相关字段中,然后单击“测试身份验证”。

    2. 如果您使用的是GitHub.com,请继续执行步骤6.如果使用GitHub Enterprise,您还需要遵循一些类似步骤并提供金宝博娱乐官网网址API令牌,以便我们可以验证您的组织。要提供此功能,请从Github Enterprise Dashboard中完成以下操作:金宝博娱乐官网网址

      1. 导航到个人设置(右上角)>开发人员设置>个人访问令牌。

      2. 单击“生成新令牌”。为令牌命名,以防止意外删除。不要勾选任何复选框,我们只需要默认的公共读级别访问,因此不需要额外的权限。我们建议您的令牌应在您的组织中共享,而不是由单个用户拥有。

      3. 复制新令牌并将其粘贴到Github Enterprise默认API令牌字段中。金宝博娱乐官网网址

        Github Integration
        图7.输入GitHub Enterprise令金宝博娱乐官网网址牌
  6. LDAP.– if you wish to use LDAP authentication for your installation, enter the required details in the LDAP section. For a detailed runthrough of LDAP settings, read ourLDAP.authentication guide

  7. 隐私– We recommend using an SSL certificate and key for your install. You can submit these in the Privacy section if this step was missed during the installation.

    隐私
    图8.隐私设置
  8. 存储- 我们建议使用S3进行存储,预先填充所有必填字段。IAM用户,如此规划本文档的一部分在此处使用。

    storage
    图9.存储选项
  9. 增强AWS集成- 如果您使用的是1.0构建器,请填写此部分。

  10. 电子邮件Complete the Email section if you wish to configure your own email server for sending build update emails. Leave this section is you wish to use our default email server.

    Due to an issue with our third party tooling, Replicated, the Test SMTP Authentication button is not currently working
  11. VM Provider- 如果打算使用,请配置VM服务Remote Dockerormachine执行程序(Linux / Windows)功能。我们建议使用IAM实例配置文件进行身份验证,如下所述规划section of this document. With this section completed, instances will automatically be provisioned to execute jobs in Remote Docker or use themachine执行者。使用Windowsmachine执行者你需要的建造一个镜子。有关VM服务的更多信息,并为远程Docker创建自定义AMImachineexecutor jobs, read ourVM服务指南

    您可以先分配实例始终升级和运行,从而减少远程Docker和的时间machine执行者工作开始。如果设置了预先分配,Cron作业将通过预期的实例每天循环一次,以防止它们进入糟糕/死亡状态。

    如果要使用Docker层缓存(DLC),则应将VM预分配器设置为0., forcing containers to be spun up on-demand for bothmachine和远程码头。值得注意的是,如果这些字段是set to0.but all preallocated instances are in use, DLC will work correctly, as if preallocation was set to0.
  12. AWS Cloudwatch or Datadog Metrics可以配置为您的安装。在相关部分中设置其中任何一个。有关更多信息,请阅读我们的监测指导

    度量标准设置
    图10.指标
  13. 自定义指标是CloudWatch和DataDog指标的替代方案,您还可以自定义通过Telegraf接收的指标。有关这件阅读我们的更多信息定制博物馆指南。

  14. 分布式追踪is used in our support bundles, and settings should remain set to default unless a change is requested by CircleCI Support.

  15. 伪影工作完成后持续数据,并且可以用于构建过程输出的长期存储。默认情况下,Circleci Server仅允许提供批准的类型。这是为了保护用户从上传,并且可能执行恶意内容。该伪影设置允许您覆盖此保护。有关安全/不安全类型的更多信息,请阅读我们的构建文物guidance

  16. After agreeing to the License Agreement and saving your settings, select Restart Now from the popup. You will then be redirected to start CircleCI and view the Management Console Dashboard. It will take a few minutes to download all of the necessary Docker containers.

如果管理控制台报告从运营商报告的失败:没有这样的形象再次单击“开始”,应继续。

Validate Your Installation

  1. When the application is started, select Open to launch CircleCI in your browser, and sign up/log in to your CircleCI installation and start running 2.0 builds! You will become the Administrator at this point as you are the first person to sign in. Have a look at our入门开始添加项目的指南。

    仪表板
    图11.从仪表板上开始Circleci
  2. 构建容器已启动并下载图像后,第一个构建应立即开始。如果周围没有更新15 minutes,并且您点击了刷新按钮,请联系Circleci支持寻求帮助。

  3. Next, use我们的realityCheck回购至check basic CircleCI functionality.

  4. 如果您无法成功运行您的第一个版本,请从我们的版本开始故障排除常规故障排除主题指南,以及我们的Introduction to Nomad Cluster Operationfor information about how to check the status of Builders in your installation.