ホームページ  >  記事  >  バックエンド開発  >  gitlab-ci/cd で golang deb を作成すると、Go ファイルがありません...

gitlab-ci/cd で golang deb を作成すると、Go ファイルがありません...

王林
王林転載
2024-02-13 13:50:09513ブラウズ

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

php エディタ Xigua は、gitlab-ci/cd で golang deb を作成するときによくある問題を紹介します。 gitlab-ci/cd で golang deb パッケージを作成しようとすると、「... に Go ファイルがありません」というエラーが発生することがあります。このエラーの原因は、プロジェクトのルート ディレクトリに Go ファイルがないためです。次に、golang deb パッケージを正常に作成できるようにこの問題を解決する方法を詳しく説明します。

質問内容

これは、gitlab-ci.yml ファイルでコードを使用している golang についてです。 これは、/builds/release_management にある no go ファイルに対して次のようなエラーが発生します。 リーリー

これは私の作業用コードです

リーリー

注意: $ci_project_dir/$basepathforbinaryfile1 も指定しようとしましたが、それも機能しませんでした。

ただし、これは最初に 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

解決策

いくつかの問題があります:

  1. あなたの構成には binaryname1
  2. がありません
リーリー ###なる### リーリー

ソース ファイルは現在のディレクトリにあるはずですが、存在しません。

binaryname

ではなく binaryname1binaryname2 を 2 回持つように構成を修正する必要があります。

src ディレクトリを
    ./cmd/main_1/
  1. として指定する必要があります。 #edit 1
  2. セクションの
  3. cd は、環境名が間違っているため機能しません。$basepathforbinaryfile1 である必要がありますが、$basepathforbinaryfile# になっています。 ##。

以上がgitlab-ci/cd で golang deb を作成すると、Go ファイルがありません...の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。