>  기사  >  백엔드 개발  >  gitlab-ci/cd에서 golang deb를 만들 때 Go 파일이 없습니다...

gitlab-ci/cd에서 golang deb를 만들 때 Go 파일이 없습니다...

王林
王林앞으로
2024-02-13 13:50:09506검색

在 gitlab-ci/cd 中制作 golang deb 时,...中没有 Go 文件

PHP 편집자 Xigua가 gitlab-ci/cd에서 golang deb를 만들 때 흔히 발생하는 문제를 소개합니다. 가끔 gitlab-ci/cd에서 golang deb 패키지를 만들려고 할 때 "No Go file in..."이라는 오류가 발생할 수 있습니다. 이 오류가 발생하는 이유는 프로젝트의 루트 디렉터리에 Go 파일이 없기 때문입니다. 다음으로 golang deb 패키지를 성공적으로 생성할 수 있도록 이 문제를 해결하는 방법을 자세히 설명하겠습니다.

질문 내용

gitlab-ci.yml 파일에서 사용하는 코드인 golang에 관한 내용입니다. 다음과 같은 /builds/release_management no go 파일에서 발생하는 오류는 다음과 같습니다. 으아아아

이것은 내 작업 코드입니다

으아아아

주의하세요: 저도 $ci_project_dir/$basepathforbinaryfile1 기부를 시도했지만 역시 효과가 없었습니다.

하지만 이것은 처음 CD를 만든 다음 점(.)을 사용하여 현재 CD에서 빌드할 때만 작동합니다.

으아아아

내 폴더 구조는 다음과 같습니다.

이 golang 오류를 해결하려면 무엇을 수정해야 하는지 아시나요?

편집 1: 또한 cd $ci_project_dir/$basepathforbinaryfile 然后执行 ls를 수행할 때 해당 디렉토리로 이동하지 않고 여전히 기본 디렉토리의 내용만 표시합니다.

$ pwd
/builds/release_management
$ echo $basepathforbinaryfile1
cmd/main_1/
$ ls
copying
debpackagegitlabdocker
readme.md
cmd
deb-build
ermbuild
go.mod
publishtoremote.sh
usr
working_gitlab-ci_abletocreatedebpackagewithnobinary.yml
$ echo $ci_project_dir/$basepathforbinaryfile1
/builds/release_management/cmd/main_1/
$ goos=$goos goarch=$goarch go build -o $binaryname1 $basepathforbinaryfile1
no go files in /builds/release_management
cleaning up project directory and file based variables
00:00
error: job failed: exit code 1

Solution

에는 몇 가지 문제가 있습니다:

  1. 아니요 binaryname1
  2. 귀하의 구성에
으아아아

되다

으아아아

소스 파일은 현재 디렉터리에 있어야 하는데 그렇지 않습니다. binaryname 대신 binaryname1binaryname2 而不是 binarynamebinaryname2를 두 번 사용하도록 구성을 수정해야 합니다.

  1. src 디렉터리를 ./cmd/main_1/로 지정해야 합니다.
  2. edit 1 部分 cd 不起作用,因为环境名称不正确,它应该是 $basepathforbinaryfile1 但它是 $basepathforbinaryfile.

위 내용은 gitlab-ci/cd에서 golang deb를 만들 때 Go 파일이 없습니다...의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제