


Bagaimana untuk mengesahkan menggunakan repositori peribadi dalam bekas Docker
editor php Strawberry memperkenalkan anda cara menggunakan repositori peribadi dalam bekas Docker untuk pengesahan. Docker ialah platform kontena popular yang membantu pembangun menggunakan dan menjalankan aplikasi dengan cepat dalam persekitaran yang berbeza. Walau bagaimanapun, untuk sesetengah aplikasi sensitif atau pangkalan kod peribadi, kami mungkin perlu mengesahkan repositori dalam bekas untuk memastikan bahawa hanya kakitangan yang diberi kuasa boleh mengaksesnya. Artikel ini akan menunjukkan kepada anda cara menyediakan dan menggunakan pengesahan untuk repositori peribadi untuk melindungi data dan kod sensitif anda.
Kandungan soalan
Saya mempunyai repositori git yang merupakan repositori peribadi dan saya perlu dapat mengesahkannya dan dapat menjalankannya dalam container build
视角中查看它。有关一些背景信息,我有一个 github 工作流程,用于构建容器映像并将其发布到 ghcr.io
pendaftaran. Walau bagaimanapun, kerana repositori yang bergantung pada pakej saya adalah peribadi, ia tidak berfungsi. Memandangkan ia berfungsi secara tempatan, saya telah mempertimbangkan untuk mengubah cara pengesahan github disimpan untuk membolehkan saya mengaksesnya, tetapi saya tertanya-tanya sama ada sesiapa tahu cara yang lebih baik untuk saya mengakses repositori peribadi. p>
Berikut ialah tindakan github untuk diterbitkan ke ghcr.io
pendaftaran:
name: docker dataeng_github_metrics # run workflow on tags starting with v (eg. v2, v1.2.0) on: push: branches: [ "master" ] paths: - ./data_pipelines/dataeng_github_metrics/* pull_request: branches: [ "master" ] jobs: deploy: runs-on: ubuntu-latest steps: - name: checkout code uses: actions/checkout@v1 - name: login to github container registry uses: docker/login-action@v1 with: registry: ghcr.io username: ${{ github.repository_owner }} password: ${{ secrets.ghcr_registry_token }} - name: set up docker buildx uses: docker/setup-buildx-action@v2 - name: build and push docker image uses: docker/build-push-action@v3 with: context: ./data_pipelines/dataeng_github_metrics/ file: ./data_pipelines/dataeng_github_metrics/dockerfile push: true # will only build if this is not here tags: | ghcr.io/mirantis/dataeng_github_metrics:latest # todo: i cannot use dataeng as public and need to change the way gitconfig is used in the dockerfile for authentication secrets: | token=${{ secrets.automation_pat}}
Ini ialah dockerfile
:
############### # cache image # ############### arg go_image=golang:1.17.3-alpine3.14 arg base_image=alpine:3.14.2 from ${go_image} as cache # add the keys arg github_id env github_id=$github_id arg github_token env github_token=$github_token # install git run apk add git # todo: encrypt the github_id and github_token # make git configuration run git config \ --global \ url."https://${github_id}:${github_token}@github.com/".insteadof \ "https://github.com/" workdir /src copy go.mod go.sum /src/ run go mod download ############## # base image # ############## from cache as dataeng_github_metrics copy . /bin workdir /bin # setup git terminal prompt & go build run go build . ############### # final image # ############### from ${base_image} copy --from=dataeng_github_metrics /bin/dataeng_github_metrics bin/ entrypoint [ "bin/dataeng_github_metrics" ]
Saya rasa bahagian besar yang mengelirukan saya ialah ini, tetapi tertanya-tanya jika ada cara yang lebih baik untuk melakukannya:
# make git configuration run git config \ --global \ url."https://${github_id}:${github_token}@github.com/".insteadof \ "https://github.com/"
Cara untuk mengakses repositori peribadi dan mengelakkan ralat berikut dalam aliran kerja anda:
#14 9.438 remote: Repository not found. #14 9.438 fatal: Authentication failed for 'https://github.com/Mirantis/dataeng/' ------ Dockerfile:26 -------------------- 24 | WORKDIR /src 25 | COPY go.mod go.sum /src/ 26 | >>> RUN go mod download 27 | 28 | ############## -------------------- ERROR: failed to solve: process "/bin/sh -c go mod download" did not complete successfully: exit code: 1 Error: buildx failed with: ERROR: failed to solve: process "/bin/sh -c go mod download" did not complete successfully: exit code: 1
Penyelesaian
Dalam dockerfile
中,为了使用操作传递的密钥(称为 token
, untuk menggunakan kunci yang diluluskan oleh operasi (dipanggil token
), anda harus menjalankan seperti berikut:
RUN --mount=type=secret,id=TOKEN \ echo "machine github.com login x password $(head -n 1 /run/secrets/TOKEN)" > ~/.netrc && \ git config \ --global \ url."https://${GITHUB_ID}:${TOKEN}@github.com/".insteadOf \ "https://github.com/"
Ingat untuk menghantar github_id
ke fail docker juga
Atas ialah kandungan terperinci Bagaimana untuk mengesahkan menggunakan repositori peribadi dalam bekas Docker. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Pengguna bukan sahaja boleh menonton pelbagai video pendek menarik di Douyin, malah turut menerbitkan karya mereka sendiri dan berinteraksi dengan netizen di seluruh negara malah dunia. Dalam proses itu, fungsi paparan alamat IP Douyin telah menarik perhatian yang meluas. 1. Bagaimanakah alamat IP Douyin dipaparkan? Fungsi paparan alamat IP Douyin dilaksanakan terutamanya melalui perkhidmatan lokasi geografi. Apabila pengguna menyiarkan atau menonton video di Douyin, Douyin secara automatik memperoleh maklumat lokasi geografi pengguna. Proses ini terutamanya dibahagikan kepada langkah-langkah berikut: pertama, pengguna mendayakan aplikasi Douyin dan membenarkan aplikasi mengakses maklumat lokasi geografinya, kedua, Douyin menggunakan perkhidmatan lokasi untuk mendapatkan maklumat lokasi geografi pengguna akhirnya, Douyin memindahkan geografi pengguna; maklumat lokasi Maklumat lokasi geografi dikaitkan dengan data dan kehendak video yang disiarkan atau dilihat

Sebagai tanda asli protokol Internet Computer (IC), ICP Coin menyediakan set nilai dan kegunaan yang unik, termasuk menyimpan nilai, tadbir urus rangkaian, penyimpanan data dan pengkomputeran, dan memberi insentif kepada operasi nod. ICP Coin dianggap sebagai mata wang kripto yang menjanjikan, dengan kredibiliti dan nilainya berkembang dengan penggunaan protokol IC. Di samping itu, syiling ICP memainkan peranan penting dalam tadbir urus protokol IC. Pemegang Syiling boleh mengambil bahagian dalam pengundian dan penyerahan cadangan, yang menjejaskan pembangunan protokol.

Pengenalan: Bagi syarikat dan individu yang perlu menyalin data dalam kuantiti yang banyak, alat pengeluaran besar-besaran cakera U yang cekap dan mudah adalah amat diperlukan. Alat pengeluaran besar-besaran cakera U yang dilancarkan oleh Kingston telah menjadi pilihan pertama untuk penyalinan data volum besar kerana prestasinya yang cemerlang dan operasi yang mudah dan mudah digunakan. Artikel ini akan memperkenalkan secara terperinci ciri, penggunaan dan kes aplikasi praktikal alat pengeluaran besar-besaran cakera kilat USB Kingston untuk membantu pembaca lebih memahami dan menggunakan penyelesaian penyalinan data massa yang cekap dan mudah ini. Bahan alat: Versi sistem: Windows1020H2 Model jenama: Kingston DataTraveler100G3 Versi perisian cakera U: Alat pengeluaran besar-besaran cakera Kingston U v1.2.0 1. Ciri-ciri alat pengeluaran besar-besaran cakera Kingston U 1. Menyokong pelbagai model cakera U: Jumlah cakera Kingston U

Dalam SQL bermaksud semua lajur, ia digunakan untuk memilih semua lajur dalam jadual, sintaksnya ialah SELECT FROM table_name;. Kelebihan penggunaan termasuk kesederhanaan, kemudahan dan penyesuaian dinamik, tetapi pada masa yang sama memberi perhatian kepada prestasi, keselamatan data dan kebolehbacaan. Selain itu, ia boleh digunakan untuk menyertai jadual dan subkueri.

Pangkalan data Oracle dan MySQL adalah kedua-dua pangkalan data berdasarkan model hubungan, tetapi Oracle lebih unggul dari segi keserasian, skalabiliti, jenis data dan keselamatan manakala MySQL memfokuskan pada kelajuan dan fleksibiliti dan lebih sesuai untuk set data bersaiz kecil. ① Oracle menyediakan pelbagai jenis data, ② menyediakan ciri keselamatan lanjutan, ③ sesuai untuk aplikasi peringkat perusahaan ① MySQL menyokong jenis data NoSQL, ② mempunyai langkah keselamatan yang lebih sedikit, dan ③ sesuai untuk aplikasi bersaiz kecil hingga sederhana.

Paparan SQL ialah jadual maya yang memperoleh data daripada jadual asas, tidak menyimpan data sebenar dan dijana secara dinamik semasa pertanyaan. Faedah termasuk: abstraksi data, keselamatan data, pengoptimuman prestasi dan integriti data. Paparan yang dibuat melalui kenyataan CREATE VIEW boleh digunakan sebagai jadual dalam pertanyaan lain, tetapi mengemas kini paparan sebenarnya mengemas kini jadual asas.

Amalan terbaik untuk pengubah suai akses untuk fungsi Java: Gunakan pengubah suai yang paling ketat, yang ditetapkan kepada peribadi secara lalai. Kelas dalaman menggunakan pengubah suai peribadi. Kaedah yang dilindungi menggunakan pengubah yang dilindungi untuk membenarkan akses oleh subkelas. Semua sifat dalam kelas tidak berubah ditetapkan kepada peribadi dan diakses melalui kaedah getter. API Awam menggunakan pengubah suai awam supaya ia boleh diakses oleh kelas luaran.

Cara Melaksanakan Amalan Terbaik Keselamatan PHP PHP ialah salah satu bahasa pengaturcaraan web bahagian belakang paling popular yang digunakan untuk mencipta laman web dinamik dan interaktif. Walau bagaimanapun, kod PHP boleh terdedah kepada pelbagai kelemahan keselamatan. Melaksanakan amalan terbaik keselamatan adalah penting untuk melindungi aplikasi web anda daripada ancaman ini. Pengesahan input Pengesahan input ialah langkah pertama yang kritikal dalam mengesahkan input pengguna dan mencegah input berniat jahat seperti suntikan SQL. PHP menyediakan pelbagai fungsi pengesahan input, seperti filter_var() dan preg_match(). Contoh: $username=filter_var($_POST['username'],FILTER_SANIT
