Gitlab: Difference between revisions
Jump to navigation
Jump to search
(→CI) |
|||
(5 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
Gitlab 내용 정리 | Gitlab 내용 정리 | ||
== | == .gitlab-ci.yml == | ||
.gitlab-ci.yml 파일은 gitlab 에서 CI/CD pipeline 을 구성할 때 사용하는 configuration file 이다. 이 파일이 프로젝트(Repository) 최상단 디렉토리에 위치하고 있으면 gitlab에서는 이를 자동으로 읽어들인다. | |||
* https://docs.gitlab.com/ee/ci/yaml/ | |||
* https://dev.to/hypnoglow/how-to-make-friends-with-golang-docker-and-gitlab-ci-4bil | * https://dev.to/hypnoglow/how-to-make-friends-with-golang-docker-and-gitlab-ci-4bil | ||
* https://docs.gitlab.com/ee/ci/variables/ | * https://docs.gitlab.com/ee/ci/variables/ | ||
== go get subgroup == | |||
gitlab 에서 subgroup 에 있는 repository 를 go get 으로 다운로드 받을때 문제가 발생했다. | |||
이런 경우, .netrc 파일을 이용한 Token 설정으로 문제를 해결할 수 있다. Token 생성시, API, read_repository 권한이 설정되어야 한다. | |||
<pre> | |||
$ cat .netrc | |||
machine gitlab.com | |||
login pchero | |||
password redacted-access-token | |||
</pre> | |||
* https://gitlab.com/gitlab-org/gitlab-foss/issues/37832 | |||
혹은 아래와 방법도 가능하다. | |||
* https://gitlab.com/gitlab-org/gitlab-foss/issues/30785 | |||
== go get private repository return error == | |||
go build 를 하던 도중 다음과 같은 에러를 만났다. 원인은 필요 패키지 중 하나가 private repository 에 있었기 때문이었다. | |||
<pre> | |||
gitlab.com/voipbin/bin-manager/common-handler.git/pkg/rabbitmqhandler: gitlab.com/voipbin/bin-manager/common-handler.git@v0.0.0-20210201031332-de387a37fc1c: verifying module: gitlab.com/voipbin/bin-manager/common-handler.git@v0.0.0-20210201031332-de387a37fc1c: reading https://sum.golang.org/lookup/gitlab.com/voipbin/bin-manager/common-handler.git@v0.0.0-20210201031332-de387a37fc1c: 410 Gone | |||
</pre> | |||
다음과 같은 환경변수를 추가 후, 정상작동을 확인했다. | |||
<pre> | |||
$ export GOPRIVATE="gitlab.com/voipbin" | |||
</pre> | |||
== See also == | |||
* https://www.youtube.com/watch?v=Nj6dqU7u0CI - GitLab CI/CD with Kubernetes | |||
* https://about.gitlab.com/2017/09/21/how-to-create-ci-cd-pipeline-with-autodeploy-to-kubernetes-using-gitlab-and-helm/ - How to create a CI/CD pipeline with Auto Deploy to Kubernetes using GitLab and Helm | |||
[[category:version control]] | [[category:version control]] |
Latest revision as of 09:28, 17 March 2022
Overview
Gitlab 내용 정리
.gitlab-ci.yml
.gitlab-ci.yml 파일은 gitlab 에서 CI/CD pipeline 을 구성할 때 사용하는 configuration file 이다. 이 파일이 프로젝트(Repository) 최상단 디렉토리에 위치하고 있으면 gitlab에서는 이를 자동으로 읽어들인다.
- https://docs.gitlab.com/ee/ci/yaml/
- https://dev.to/hypnoglow/how-to-make-friends-with-golang-docker-and-gitlab-ci-4bil
- https://docs.gitlab.com/ee/ci/variables/
go get subgroup
gitlab 에서 subgroup 에 있는 repository 를 go get 으로 다운로드 받을때 문제가 발생했다. 이런 경우, .netrc 파일을 이용한 Token 설정으로 문제를 해결할 수 있다. Token 생성시, API, read_repository 권한이 설정되어야 한다.
$ cat .netrc machine gitlab.com login pchero password redacted-access-token
혹은 아래와 방법도 가능하다.
go get private repository return error
go build 를 하던 도중 다음과 같은 에러를 만났다. 원인은 필요 패키지 중 하나가 private repository 에 있었기 때문이었다.
gitlab.com/voipbin/bin-manager/common-handler.git/pkg/rabbitmqhandler: gitlab.com/voipbin/bin-manager/common-handler.git@v0.0.0-20210201031332-de387a37fc1c: verifying module: gitlab.com/voipbin/bin-manager/common-handler.git@v0.0.0-20210201031332-de387a37fc1c: reading https://sum.golang.org/lookup/gitlab.com/voipbin/bin-manager/common-handler.git@v0.0.0-20210201031332-de387a37fc1c: 410 Gone
다음과 같은 환경변수를 추가 후, 정상작동을 확인했다.
$ export GOPRIVATE="gitlab.com/voipbin"
See also
- https://www.youtube.com/watch?v=Nj6dqU7u0CI - GitLab CI/CD with Kubernetes
- https://about.gitlab.com/2017/09/21/how-to-create-ci-cd-pipeline-with-autodeploy-to-kubernetes-using-gitlab-and-helm/ - How to create a CI/CD pipeline with Auto Deploy to Kubernetes using GitLab and Helm