Customization and Configuration

The following sections summarize the key files and variables that impact CircleCI Server behavior, and configuration options for your Server installation.

Notable Files & Folders

Need Path More info

General Config

/etc/circle-installation-customizations

See table below for values

JVM Heap Sizes

/etc/circleconfig/XXXX/customizationsSupports: frontend, test_results

Adjust heap size for individual containers withJVM_HEAP_SIZE

Custom CA Certs

/usr/local/share/ca-certificates/

Container Customizations

/ etc / circleconfig / xxx / customizations

Used lots of places in replicated

/ etc / hosts

/ etc / hosts

由若干容器尊重,包括前端,复制到容器的/ etc / hosts

/etc/environment

/etc/environment

Respected by all containers

Properties of/etc/circle-installation-customizations

Every property should be in the formatexport ENV_VAR="value"
Property Impact More info

CIRCLE_URL

Override the scheme and host that CircleCI uses

JVM_HEAP_SIZE

Set JVM heap size forallcontainers reading this property

Use container specific settings when possible (see files above)

Other Properties and Env Vars

Property Impact More info

HTTP_PROXY, NO_PROXY

Proxy for replicated and other services outside CircleCI containers to use

Service Configuration Overrides

This section describes the configuration interface for overriding services in CircleCI Server.

Customizing your configuration can have potentially damaging consequences, so we recommend contactingsupport@www.drag240sx.comfor guidance before making any changes.

Configuration is done by exporting environment variables in files located on the Services machine.

Consider the file “customizations” created at the following path /etc/circleconfig/workflows-conductor:

export FOO="bar"

The value of FOO will take precedence over the default values set in the default container mapping in the CircleCI Server configuration.

Available Overrides

/etc/circleconfig/api-service/customizations /etc/circleconfig/audit-log-service/customizations /etc/circleconfig/contexts-service-db-migrator/customizations /etc/circleconfig/contexts-service/customizations /etc/circleconfig/cron-service-db-migrator/customizations /etc/circleconfig/cron-service/customizations /etc/circleconfig/domain-service-migrator/customizations /etc/circleconfig/domain-service/customizations /etc/circleconfig/federations-service-db-migrator/customizations /etc/circleconfig/federations-service-migrator/customizations /etc/circleconfig/frontend/customizations /etc/circleconfig/output-processor/customizations /etc/circleconfig/permissions-service-migrator/customizations /etc/circleconfig/permissions-service/customizations /etc/circleconfig/picard-dispatcher/customizations /etc/circleconfig/schedulerer/customizations /etc/circleconfig/test-results/customizations /etc/circleconfig/vm-gc/customizations /etc/circleconfig/vm-scaler/customizations /etc/circleconfig/vm-service-db-migrator/customizations /etc/circleconfig/vm-service/customizations /etc/circleconfig/workflows-conductor/customizations

Resource Classes

Introduced in CircleCI Server v2.19

You can customize resource classes for your installation to provide developers withCPU/RAM optionsfor the Jobs they configure.

The resources formachineexecutors can’t be configured using the method described on this page. To change CPU and memory size for VMs, changeAWS Instance Typein the VM Provider section of the Management Console. See theVM Serviceguide for more details.
一旦资源类设置使用比罗的步骤w, make these options available to developers so they can ensure correct usage.

Following are the steps required to customize resource classes for the Docker executors:

  1. SSH into the Services machine.

  2. Run the following:

    sudo mkdir / etc / circleconfig / picard-dispatcher
  3. Run the following:

    sudo vim /etc/circleconfig/picard-dispatcher/resource-definitions.edn
    This file replaces the full resource class definition for your installation so it is important to include all resource classes your users need at this point, not just those you wish to customize.
  4. 将您所需的自定义添加到文件中,然后保存并退出Vim:wq- see below for options and formatting.

  5. Run:

    echo 'export CIRCLE_DISPATCHER_RESOURCE_DEF=/circleconfig/picard-dispatcher/resource-definitions.edn' | sudo tee /etc/circleconfig/picard-dispatcher/customizations
  6. Restart the CircleCI Server application. The application can be stopped and started again from the Management Console Dashboard (for example,.com:8800).

以下是一个示例资源类配置:

Example config:

{:default-resource-class:介质:资源类{:docker ;;修改以下{:small {:id“d1.small”:availability:general:ui {:cpu 2.0:ram 4096:class:small}:super {:cpu 2.0:ram 4096}:介质{:id“d1。介质:可用性:常规:UI {:CPU 4.0:RAM 8192:类:中等:中等}:外部{:CPU 4.0:RAM 8192}}:Massive {:ID“D1.massive”:authable:General:UI {:CPU7.0:RAM 28000:类:Massive}:外部{:CPU 7.0:RAM 28000}}} ;;修改上面;;注意:请勿删除或修改以下块:此类尝试将破坏计算机构建。:Machine {:Medium {:ID“L1.medium”:可用性:常规:UI {:CPU 2.0:RAM 4096:类:中等}:Outher {:CPU 1:RAM 512}:大{:ID“L1。“:可用性:常规:UI {:CPU 4.0:RAM 16384:类:中等}:外部{:CPU 1:RAM 512}}:Windows.Medium {:ID”Windows.Medium“:可用性:概述:概述:UI {:CPU 2.0:RAM 8192:类:windows.medium}:{外:CPU 1:RAM 512}}}}}

Let’s take a look at one of the options in more detail

:中等的{:id "d1.medium" :availability :general :ui {:cpu 4.0 :ram 8192 :class :medium} :outer {:cpu 4.0 :ram 8192}
  • :中等的- this is the name that your developers will use to refer to the resource class in their config.yml and the is the external facing name of the resource class.

  • :id "d1.medium"- this is the internal name for the resource class. You can customize this ID for Docker resource classes.

  • :availability :general- required field

  • :ui {:cpu 4.0 :ram 8192 :class :medium}- Circleci UI使用的信息。这应该保持奇偶校验:外部 - 见下文。

  • :outer {:cpu 4.0 :ram 8192}- This defines the CPU and RAM for the resource class.

Jobs can only run if the Nomad client has enough CPU/RAM in order to allocate the resources required. If not, the job will be queued. See ourNomad metrics guidefor information on monitoring the capacity of your Nomad cluster, andNomad客户端系统要求更多的能力,以及游牧allocates jobs.

Login Screen

Introduced in CircleCI Server v2.17.3

You can add a banner to your login screen as follows:

  1. Access the file:/etc/circleconfig/frontend/customizations在服务机器上

  2. Add the following line, substituting the text you wish to display in the banner:

    export CIRCLE__OUTER__LOGIN_BANNER_MESSAGE="
  3. Restart CircleCI from the Management Console (your-circleci-hostname.com:8800)

横幅
Figure 1. Login Screen Banner Example