Тайм-аут операции при публикации артефактов в gitlab с помощью горелесера
Я использую golang для создания простого приложения CLI. Я использую GoReleaser, чтобы опубликовать это в Gitlab. Я выполнил шаги, описанные в https://goreleaser.com/quick-start/, чтобы выпустить изменения в gitlab. Я создал токен личного доступа с областью действия API. Я отмечаю изменения и отправляю их, прежде чем использовать goreleaser для публикации артефактов.
Я всегда получаю сообщение об ошибке, в котором говорится, что выпуск завершился неудачно после 452,34 с error =github / gitlab / gitea Release: не удалось опубликовать артефакты: получить "https: // PRIVATEGITLABURL / api / v4 / projects / PRIVATE_GITLAB_PROJECT / Release / v1%2E0%2E3": dial tcp IP_ADDRESS:443: connect: время ожидания операции истекло.
Мой файл .gorelease.yml
before:
hooks:
# You may remove this if you don't use go modules.
- go mod tidy
# you may remove this if you don't need go generate
- go generate ./...
builds:
- env:
- CGO_ENABLED=0
goos:
- windows
snapshot:
name_template: "{{ incpatch .Version }}-next"
changelog:
sort: asc
filters:
exclude:
- '^docs:'
- '^test:'
# .goreleaser.yml
gitlab_urls:
api: https://PRIVATE_GITLAB_REPO/api/v4/
download: https://PRIVATE_GITLAB_REPO
# set to true if you use a self-signed certificate
skip_tls_verify: false
Любые идеи? Моя версия gitlab - GitLab Enterprise Edition 14.1.5-ee
1 ответ
Сначала проверьте, если это из-за goreleaser/goreleaser
issue 1879 («Использование goreleaser за http (s) прокси»), который поддерживается с PR 1885 и goreleaser v0.147.0:
- либо ваш сервер GitLab доступен через Интернет, и вы не установили переменные среды
- или ваш сервер GitLab находится в вашей интрасети, вы установили
HTTP(S)_PROXY
, но забылNO_PROXY
(чтобы не использовать прокси при доступе черезhttps://
ресурс интрасети).
Батухан Апайдин предлагает в обсуждении OP применить конфигурацию gitlab :
# .goreleaser.yml
release:
# Default is extracted from the origin remote URL or empty if its private hosted.
# You can also use Gitlab's internal project id by setting it in the name
# field and leaving the owner field empty.
gitlab:
owner: user
name: repo.