112 lines
5.1 KiB
YAML
112 lines
5.1 KiB
YAML
- help_text:
|
|
brief: Create a Cloud Build Connection of type GitHub Enterprise.
|
|
description: |
|
|
Create a Cloud Build Connection of type GitHub Enterprise.
|
|
|
|
Connections for GitHub Enterprise can be created either by following an intallation process
|
|
(that requires manual steps in a web browser) or by providing all the properties of an
|
|
already-installed application as arguments to this command.
|
|
|
|
If the GitHub Enterprise server can only be accessed within a VPC, a Service Directory
|
|
service resource can be provided for connecting to it.
|
|
|
|
examples: |
|
|
To create a connection by following the installation process, provide only the connection
|
|
name and the host URI. If the server can only be accessed within a VPC, provide also the
|
|
Service Directory service resource:
|
|
|
|
$ {command} my-ghe-conn \
|
|
--project=myproj --region=us-central1
|
|
--host-uri=https://my.ghe-server.net
|
|
--service-directory-service=projects/myproj/namespaces/x/services/mysds
|
|
|
|
The command will print a URL to be opened in a web browser in order create and install a
|
|
GitHub App in that server. After following the URL, you can get the connection's installation
|
|
state with The ``describe'' command:
|
|
|
|
$ gcloud alpha builds connections describe my-ghe-conn --region=us-central1
|
|
|
|
If the connection's installation state is not COMPLETE yet, it will provide a link to continue
|
|
the installation process. Once the connection is in installation state COMPLETE, repositories
|
|
can be added to it (see ``gcloud'' alpha builds repositories create).
|
|
|
|
--
|
|
|
|
To create a complete connection (e.g. based on an existing installation),
|
|
provide all the parameters:
|
|
|
|
$ {command} my-ghe-conn \
|
|
--project=myproj --region=us-central1 \
|
|
--app-id=111 --app-slug=gcb-app \
|
|
--service-directory-service=projects/myproj/namespaces/x/services/mysds \
|
|
--private-key-secret-version=projects/myproj/secrets/pk/versions/1 \
|
|
--webhook-secret-secret-version=projects/myproj/secrets/whsecret/versions/1 \
|
|
--app-slug=myapp \
|
|
--app-installation-id=1234
|
|
|
|
Above command creates the connection in installation state COMPLETE, ready for adding
|
|
repositories.
|
|
|
|
command_type: CREATE
|
|
request:
|
|
collection: cloudbuild.projects.locations.connections
|
|
api_version: v2
|
|
static_fields:
|
|
"connection.githubEnterpriseConfig": {}
|
|
|
|
arguments:
|
|
resource:
|
|
help_text: Connection to create.
|
|
spec: !REF googlecloudsdk.command_lib.cloudbuild.resources_v2:connection
|
|
params:
|
|
- api_field: connection.githubEnterpriseConfig.hostUri
|
|
arg_name: host-uri
|
|
required: true
|
|
help_text: URI of the GitHub Enterprise server.
|
|
- group:
|
|
help_text: Group of arguments for configuring access through Service Directory.
|
|
params:
|
|
- api_field: connection.githubEnterpriseConfig.serviceDirectoryConfig.service
|
|
arg_name: service-directory-service
|
|
required: true
|
|
help_text: Service Directory service resource to use for accessing the GitHub Enterprise
|
|
Server. Necessary only if the server has no public access from the internet.
|
|
- api_field: connection.githubEnterpriseConfig.sslCa
|
|
arg_name: ssl-ca-file
|
|
help_text: File containing the SSL_CA to be used.
|
|
processor: googlecloudsdk.core.util.files:ReadFileContents
|
|
- group:
|
|
help_text: Group of arguments for the GitHub App properties.
|
|
params:
|
|
- api_field: connection.githubEnterpriseConfig.appId
|
|
arg_name: app-id
|
|
required: true
|
|
help_text: App ID of the GitHub App in the GitHub Enterprise server.
|
|
- api_field: connection.githubEnterpriseConfig.appSlug
|
|
arg_name: app-slug
|
|
required: true
|
|
help_text: |-
|
|
App slug (url-friendly name) of the GitHub App. When seeing the configuration
|
|
page of the App (e.g. in https://my-ghe-server.net/settings/apps/my-app), the app-slug
|
|
is the last component of the URL path ("my-app" in that example).
|
|
- api_field: connection.githubEnterpriseConfig.privateKeySecretVersion
|
|
arg_name: private-key-secret-version
|
|
required: true
|
|
help_text: Secret containing the private key of the GitHub App.
|
|
- api_field: connection.githubEnterpriseConfig.webhookSecretSecretVersion
|
|
arg_name: webhook-secret-secret-version
|
|
required: true
|
|
help_text: |-
|
|
Secret containing the webhook secret string for validating webhook events generated by
|
|
the GitHub App.
|
|
- api_field: connection.githubEnterpriseConfig.appInstallationId
|
|
arg_name: app-installation-id
|
|
help_text: Installation ID of the Cloud Build GitHub App.
|
|
|
|
output:
|
|
# Print the installation instruction and link (if any) after creation.
|
|
format: 'csv[no-heading,separator="\\n"](installationState.stage,installationState.message,installationState.actionUri)'
|
|
|
|
async:
|
|
collection: cloudbuild.projects.locations.operations
|