Compare commits
8 Commits
release/1.
...
release/1.
| Author | SHA1 | Date | |
|---|---|---|---|
| 5562bd3173 | |||
| 4fc4e646e7 | |||
| a229cc96b2 | |||
| 22ab70e34a | |||
| 94964dea8c | |||
| 48ea006ca7 | |||
|
|
048c69938a | ||
| c1d2bb7de2 |
@@ -1,5 +1,7 @@
|
|||||||
include:
|
include:
|
||||||
- project: 'developerdurp/yml'
|
- project: 'developerdurp/yml'
|
||||||
ref: 'main'
|
ref: 'main'
|
||||||
file: 'pipelines/gitlab_generic_packages.yml'
|
file:
|
||||||
- local: .variables.yml
|
- 'pipelines/gitlab_generic_packages.yml'
|
||||||
|
#- 'pipelines/docker-build-generic.yml'
|
||||||
|
- local: .variables.yml
|
||||||
|
|||||||
101
.octopus/deployment_process.ocl
Normal file
101
.octopus/deployment_process.ocl
Normal file
@@ -0,0 +1,101 @@
|
|||||||
|
step "plan-to-apply-a-terraform-template" {
|
||||||
|
name = "Terraform Plan"
|
||||||
|
|
||||||
|
action "terraform-plan" {
|
||||||
|
action_type = "Octopus.TerraformPlan"
|
||||||
|
environments = ["development"]
|
||||||
|
is_required = true
|
||||||
|
properties = {
|
||||||
|
Octopus.Action.GoogleCloud.ImpersonateServiceAccount = "False"
|
||||||
|
Octopus.Action.GoogleCloud.UseVMServiceAccount = "True"
|
||||||
|
Octopus.Action.Package.DownloadOnTentacle = "False"
|
||||||
|
Octopus.Action.Package.FeedId = "nexus-nuget"
|
||||||
|
Octopus.Action.Package.PackageId = "#{TF_PACKAGE}"
|
||||||
|
Octopus.Action.RunOnServer = "true"
|
||||||
|
Octopus.Action.Script.ScriptSource = "Package"
|
||||||
|
Octopus.Action.Terraform.AdditionalInitParams = "#{TF_INIT}"
|
||||||
|
Octopus.Action.Terraform.AllowPluginDownloads = "True"
|
||||||
|
Octopus.Action.Terraform.AzureAccount = "False"
|
||||||
|
Octopus.Action.Terraform.EnvVariables = "{\"TF_VAR_GITLAB_PROJECT_ID\":\"#{GITLAB_PROJECT_ID}\",\"TF_VAR_GITLAB_PROJECT_NAME\":\"#{GITLAB_PROJECT_NAME}\",\"TF_VAR_GITLAB_SHARED_RUNNER_ID\":\"#{GITLAB_SHARED_RUNNER_ID}\",\"TF_VAR_GITLAB_TOKEN\":\"#{GITLAB_TOKEN}\",\"TF_VAR_OCTOAPI\":\"#{OCTOAPI}\"}"
|
||||||
|
Octopus.Action.Terraform.GoogleCloudAccount = "False"
|
||||||
|
Octopus.Action.Terraform.ManagedAccount = "None"
|
||||||
|
Octopus.Action.Terraform.PlanJsonOutput = "False"
|
||||||
|
Octopus.Action.Terraform.RunAutomaticFileSubstitution = "True"
|
||||||
|
OctopusUseBundledTooling = "False"
|
||||||
|
}
|
||||||
|
worker_pool_variable = ""
|
||||||
|
|
||||||
|
container {
|
||||||
|
feed = "nexus"
|
||||||
|
image = "#{TF_Container}"
|
||||||
|
}
|
||||||
|
|
||||||
|
packages {
|
||||||
|
acquisition_location = "Server"
|
||||||
|
feed = "nexus-nuget"
|
||||||
|
package_id = "#{TF_PACKAGE}"
|
||||||
|
properties = {
|
||||||
|
SelectionMode = "immediate"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
step "approve-plan" {
|
||||||
|
name = "Approve Plan"
|
||||||
|
|
||||||
|
action {
|
||||||
|
action_type = "Octopus.Manual"
|
||||||
|
environments = ["development"]
|
||||||
|
is_required = true
|
||||||
|
properties = {
|
||||||
|
Octopus.Action.Manual.BlockConcurrentDeployments = "False"
|
||||||
|
Octopus.Action.Manual.Instructions = <<-EOT
|
||||||
|
```
|
||||||
|
#{Octopus.Action[Terraform Plan].Output.TerraformPlanOutput}
|
||||||
|
```
|
||||||
|
EOT
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
step "terraform-apply" {
|
||||||
|
name = "Terraform Apply"
|
||||||
|
|
||||||
|
action {
|
||||||
|
action_type = "Octopus.TerraformApply"
|
||||||
|
properties = {
|
||||||
|
Octopus.Action.GoogleCloud.ImpersonateServiceAccount = "False"
|
||||||
|
Octopus.Action.GoogleCloud.UseVMServiceAccount = "True"
|
||||||
|
Octopus.Action.Package.DownloadOnTentacle = "False"
|
||||||
|
Octopus.Action.Package.FeedId = "nexus-nuget"
|
||||||
|
Octopus.Action.Package.PackageId = "#{TF_PACKAGE}"
|
||||||
|
Octopus.Action.RunOnServer = "true"
|
||||||
|
Octopus.Action.Script.ScriptSource = "Package"
|
||||||
|
Octopus.Action.Terraform.AdditionalInitParams = "#{TF_INIT}"
|
||||||
|
Octopus.Action.Terraform.AllowPluginDownloads = "True"
|
||||||
|
Octopus.Action.Terraform.AzureAccount = "False"
|
||||||
|
Octopus.Action.Terraform.EnvVariables = "{\"TF_VAR_GITLAB_PROJECT_ID\":\"#{GITLAB_PROJECT_ID}\",\"TF_VAR_GITLAB_PROJECT_NAME\":\"#{GITLAB_PROJECT_NAME}\",\"TF_VAR_GITLAB_SHARED_RUNNER_ID\":\"#{GITLAB_SHARED_RUNNER_ID}\",\"TF_VAR_GITLAB_TOKEN\":\"#{GITLAB_TOKEN}\",\"TF_VAR_OCTOAPI\":\"#{OCTOAPI}\"}"
|
||||||
|
Octopus.Action.Terraform.GoogleCloudAccount = "False"
|
||||||
|
Octopus.Action.Terraform.ManagedAccount = "None"
|
||||||
|
Octopus.Action.Terraform.PlanJsonOutput = "False"
|
||||||
|
Octopus.Action.Terraform.RunAutomaticFileSubstitution = "True"
|
||||||
|
OctopusUseBundledTooling = "False"
|
||||||
|
}
|
||||||
|
worker_pool_variable = ""
|
||||||
|
|
||||||
|
container {
|
||||||
|
feed = "nexus"
|
||||||
|
image = "#{TF_Container}"
|
||||||
|
}
|
||||||
|
|
||||||
|
packages {
|
||||||
|
acquisition_location = "Server"
|
||||||
|
feed = "nexus-nuget"
|
||||||
|
package_id = "#{TF_PACKAGE}"
|
||||||
|
properties = {
|
||||||
|
SelectionMode = "immediate"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
7
.octopus/deployment_settings.ocl
Normal file
7
.octopus/deployment_settings.ocl
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
connectivity_policy {
|
||||||
|
allow_deployments_to_no_targets = true
|
||||||
|
}
|
||||||
|
|
||||||
|
versioning_strategy {
|
||||||
|
template = "#{Octopus.Version.LastMajor}.#{Octopus.Version.LastMinor}.#{Octopus.Version.NextPatch}"
|
||||||
|
}
|
||||||
1
.octopus/schema_version.ocl
Normal file
1
.octopus/schema_version.ocl
Normal file
@@ -0,0 +1 @@
|
|||||||
|
version = 6
|
||||||
11
.octopus/variables.ocl
Normal file
11
.octopus/variables.ocl
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
variable "TF_INIT" {
|
||||||
|
value "-backend-config=\"address=https://gitlab.com/api/v4/projects/#{GITLAB_PROJECT_ID}/terraform/state/gitlab\" -backend-config=\"lock_address=https://gitlab.com/api/v4/projects/#{GITLAB_PROJECT_ID}/terraform/state/gitlab/lock\" -backend-config=\"unlock_address=https://gitlab.com/api/v4/projects/#{GITLAB_PROJECT_ID}/terraform/state/gitlab/lock\" -backend-config=\"username=developerdurp\" -backend-config=\"password=#{GITLAB_TOKEN}\" -backend-config=\"lock_method=POST\" -backend-config=\"unlock_method=DELETE\" -backend-config=\"retry_wait_min=5\"" {}
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "TF_PACKAGE" {
|
||||||
|
value "TERRAFORM.GITLAB.PROJECTS" {}
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "TF_CONTAINER" {
|
||||||
|
value "developerdurp/octopus-packages" {}
|
||||||
|
}
|
||||||
@@ -20,6 +20,8 @@ resource "gitlab_project" "project" {
|
|||||||
squash_option = "default_on"
|
squash_option = "default_on"
|
||||||
ci_config_path = ".gitlab/.gitlab-ci.yml"
|
ci_config_path = ".gitlab/.gitlab-ci.yml"
|
||||||
shared_runners_enabled = false
|
shared_runners_enabled = false
|
||||||
|
visibility_level = "public"
|
||||||
|
ci_forward_deployment_enabled = true
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "gitlab_branch_protection" "master" {
|
resource "gitlab_branch_protection" "master" {
|
||||||
@@ -42,3 +44,11 @@ resource "gitlab_project_runner_enablement" "k3s" {
|
|||||||
project = gitlab_project.project.id
|
project = gitlab_project.project.id
|
||||||
runner_id = var.GITLAB_SHARED_RUNNER_ID
|
runner_id = var.GITLAB_SHARED_RUNNER_ID
|
||||||
}
|
}
|
||||||
|
|
||||||
|
resource "gitlab_project_variable" "OCTOAPI" {
|
||||||
|
project = gitlab_project.project.id
|
||||||
|
key = "OCTOAPI"
|
||||||
|
value = var.OCTOAPI
|
||||||
|
protected = false
|
||||||
|
masked = true
|
||||||
|
}
|
||||||
|
|||||||
@@ -13,3 +13,7 @@ variable "GITLAB_PROJECT_NAME" {
|
|||||||
variable "GITLAB_SHARED_RUNNER_ID" {
|
variable "GITLAB_SHARED_RUNNER_ID" {
|
||||||
type = number
|
type = number
|
||||||
}
|
}
|
||||||
|
|
||||||
|
variable "OCTOAPI" {
|
||||||
|
type = string
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user