Urus dan pasang modul Go peribadi anda dengan mudah

王林
Lepaskan: 2024-08-19 22:33:32
asal
383 orang telah melayarinya

Easily manage and install your private Go modules

Bagi pembangun Golang, mengurus dan memasang modul Go biasanya mudah apabila berurusan dengan repositori awam. Walau bagaimanapun, perkara menjadi lebih rumit apabila anda perlu bekerja dengan modul Go peribadi.

Rantai alat modul Go tidak menyediakan mekanisme terbina dalam untuk bekerja dengan modul peribadi selain daripada menggunakan GOPROXY peribadi, dan menyediakan dan menyelenggara modul dengan betul bukanlah pilihan untuk setiap pembangun atau organisasi. Sesetengah perkhidmatan repositori pakej menyokong kerja dengan modul Go peribadi tetapi secara amnya tidak memberikan pengalaman paling bersih untuk pembangun.

Atas sebab ini, dalam kebanyakan kes, kami akhirnya mengatur konfigurasi Git yang rumit (.netrc atau .gitconfig) digabungkan dengan beberapa pembolehubah persekitaran Go untuk mengurus pengesahan dengan repositori peribadi kami apabila menggunakan muat turun go get, go install atau go mod .

Masalah dengan konfigurasi Git ini ialah ia tidak jelas kepada semua pembangun, dan ia mungkin tidak selamat kerana memerlukan penyimpanan bukti kelayakan teks biasa dalam sistem fail. Isu ini menjadi lebih bermasalah apabila mengkonfigurasi sistem CI/CD, membina imej Docker, dsb.

Memperkenalkan goproxy.dev

Sebagai pembangun Golang lama (bermula dari zaman ketika modul Go tidak wujud), kami sentiasa mengimpikan masa bekerja dengan perpustakaan Go persendirian akan menjadi semudah dan berkuasa seperti bekerja dengan perpustakaan awam.

Bayangkan membangun dan menolak perpustakaan Go peribadi anda ke GitHub, dan segera dapatkan perubahan baharu daripada kod sumber projek anda dengan hanya menetapkan pembolehubah persekitaran GOPROXY. Tiada konfigurasi Git yang rumit dan tidak selamat, tiada penyelenggaraan GOPROXY yang dihoskan sendiri, tiada aliran kerja penerbitan yang rumit dan mudah ralat, dan persediaan yang sama untuk mesin pembangun setempat anda, Dockerfile dan persekitaran CI/CD.

Say hello kepada goproxy.dev, perkhidmatan GOPROXY peribadi yang disepadukan dengan GitHub untuk memberikan anda pemasangan modul peribadi Go yang lancar.

Cara menyediakan goproxy.dev dalam aliran kerja pembangunan anda

Hanya log masuk ke goproxy.dev dengan akaun GitHub anda, berikan akses kepada repositori peribadi yang akan anda gunakan dan eksport pembolehubah persekitaran GOPROXY dan GONOSUMDB anda.

export GOPROXY=TOKEN@proxy.goproxy.dev,proxy.golang.org,direct
export GONOSUMDB=github.com/your-organization
Salin selepas log masuk

Pembolehubah persekitaran Go ini boleh ditetapkan terus daripada konfigurasi shell anda (.zshrc, .bashrc, dll.) atau menggunakan go env -w.

Kemudian anda boleh menjalankan arahan go biasa anda untuk memasang dan memuat turun modul peribadi anda.

go get github.com/your-organization/go-module@v2.0.0
go install github.com/your-organization/go-module/cmd
...
go mod download
Salin selepas log masuk

Cara menggunakan goproxy.dev untuk membina imej Docker

Menyepadukan dengan goproxy.dev hanya memerlukan menyediakan dua pembolehubah persekitaran. Cara terbaik untuk berbuat demikian semasa binaan Docker ialah dengan menggunakan ciri rahsia binaan Docker.

Di dalam Fail Docker anda:

COPY go.mod go.sum ./
RUN --mount=type=secret,id=GOPROXY \
    GOPROXY=$(cat /run/secrets/GOPROXY) \
    GONOSUMDB=github.com/your-organization \
    go mod download
RUN go build .
Salin selepas log masuk

Dan larian:

GOPROXY="[your GOPROXY value]" docker build --secret id=GOPROXY
Salin selepas log masuk

Cara menggunakan goproxy.dev daripada GitHub Actions

Hanya konfigurasikan rahsia untuk Tindakan GitHub anda yang mengandungi URL GOPROXY anda dan gunakannya daripada aliran kerja anda:

jobs:
  build:
    - run: |
        go mod download
        go build .
      env:
        GOPROXY: ${{ secrets.PRIVATE_GOPROXY }}
        GONOSUMDB: github.com/your-organization
Salin selepas log masuk

 Permudahkan aliran kerja pembangunan Go anda hari ini

Dengan goproxy.dev anda akan mendapat pengalaman pembangun terbaik apabila menggunakan perpustakaan dengan Go. Sama ada anda bergantung pada perpustakaan awam sumber terbuka atau modul peribadi daripada organisasi anda, anda akan mempunyai aliran kerja bersatu: sediakan pembolehubah persekitaran GOPROXY anda dan dapatkan kebergantungan untuk versi tertentu, cawangan Git atau komit.

Ketahui lebih lanjut dan mulakan dengan goproxy.dev hari ini dengan mendaftar untuk percubaan percuma 14 hari kami.

Atas ialah kandungan terperinci Urus dan pasang modul Go peribadi anda dengan mudah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan