add: devops scripts and configs
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
# GitLab CI - pipeline для сборки и публикации Terraform Provider Registry
|
||||
stages:
|
||||
- test
|
||||
- build
|
||||
- sign
|
||||
- publish
|
||||
|
||||
variables:
|
||||
HARBOR_HOST: "pearlharbor.registryk8s.services.ngcloud.ru"
|
||||
S3_BUCKET: "terraform-registry"
|
||||
PROVIDER_NAME: "nubes"
|
||||
PROVIDER_NAMESPACE: "nubes"
|
||||
|
||||
test:
|
||||
stage: test
|
||||
image: golang:1.24
|
||||
script:
|
||||
- cd universal_rebuild
|
||||
- go test ./...
|
||||
- go vet ./...
|
||||
|
||||
build-provider:
|
||||
stage: build
|
||||
image: golang:1.24
|
||||
script:
|
||||
- cd universal_rebuild
|
||||
- GOOS=linux GOARCH=amd64 go build -o bin/terraform-provider-${PROVIDER_NAME}_linux_amd64
|
||||
- GOOS=darwin GOARCH=amd64 go build -o bin/terraform-provider-${PROVIDER_NAME}_darwin_amd64
|
||||
- GOOS=windows GOARCH=amd64 go build -o bin/terraform-provider-${PROVIDER_NAME}_windows_amd64.exe
|
||||
artifacts:
|
||||
paths: [universal_rebuild/bin/]
|
||||
|
||||
build-images:
|
||||
stage: build
|
||||
script:
|
||||
- docker build -t ${HARBOR_HOST}/terraform/registry-server:${CI_COMMIT_TAG} registry-server-build/
|
||||
- docker build -t ${HARBOR_HOST}/terraform/registry-operator:${CI_COMMIT_TAG} operator/
|
||||
- docker push ${HARBOR_HOST}/terraform/registry-server:${CI_COMMIT_TAG}
|
||||
- docker push ${HARBOR_HOST}/terraform/registry-operator:${CI_COMMIT_TAG}
|
||||
only:
|
||||
- tags
|
||||
|
||||
sign:
|
||||
stage: sign
|
||||
image: golang:1.24
|
||||
script:
|
||||
- cd universal_rebuild/bin
|
||||
- sha256sum terraform-provider-* > SHA256SUMS
|
||||
- gpg --import $GPG_PRIVATE_KEY
|
||||
- gpg --detach-sign SHA256SUMS
|
||||
artifacts:
|
||||
paths:
|
||||
- universal_rebuild/bin/SHA256SUMS
|
||||
- universal_rebuild/bin/SHA256SUMS.gpg
|
||||
|
||||
publish-to-s3:
|
||||
stage: publish
|
||||
image: alpine:3.19
|
||||
before_script:
|
||||
- apk add --no-cache s3cmd
|
||||
script:
|
||||
- s3cmd put universal_rebuild/bin/* s3://${S3_BUCKET}/terraform-providers/
|
||||
only:
|
||||
- tags
|
||||
Reference in New Issue
Block a user