Saya ingin mengkloning repositori gitlab tanpa meminta skrip otomatisasi saya, dengan menggunakan token pribadi saya dari akun gitlab saya.
Bisakah seseorang memberi saya sampel?
Saya tahu saya bisa melakukannya dengan pengguna dan kata sandi:
git clone https://" + user + ":" + password + "@" + gitlaburl;
dan saya tahu itu mungkin dengan kunci ssh
tetapi, kedua opsi tersebut tidak memadai
git clone https://<token-name>:<token>@gitlaburl
Jawaban:
Saya tahu ini sudah tua tetapi ini adalah bagaimana Anda melakukannya:
git clone https://oauth2:[email protected]/vendor/package.git
sumber
api
token. Aread_user
hanya dapat membaca repo di bawah/users
ssh
?Anda dapat melakukannya seperti ini:
sumber
Gitlab memiliki banyak token:
Saya hanya menguji Token Akses Pribadi menggunakan GitLab Community Edition 10.1.2 , contoh:
atau menggunakan nama pengguna dan kata sandi:
atau dengan memasukkan kata sandi Anda:
Tetapi token pribadi sepertinya tidak bisa bekerja.
sumber
Gunakan token alih-alih kata sandi (token harus memiliki ruang lingkup "api" agar klon diizinkan):
Diuji melawan 11.0.0-ee.
sumber
Anda dapat menggunakan token pelari untuk CI / CD Pipeline dari repo GitLab Anda.
Di mana
<runners token>
bisa diperoleh dari:atau dengan mengklik pada
Settings icon -> CI/CD Pipeline
dan mencari Token Pelari di halamanCuplikan layar dari lokasi token pelari:
sumber
git clone https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/...
Jika Anda sudah memiliki repositori dan baru saja mengubah cara Anda melakukan otentikasi ke MFA, Anda dapat mengubah
remote origin
URI HTTP Anda untuk menggunakan token api baru Anda sebagai berikut:git remote set-url origin https://oauth2:TOKEN@ANY_GIT_PROVIDER_DOMAIN/YOUR_PROJECT/YOUR_REPO.git
Dan Anda tidak perlu mengkloning repositori sama sekali.
sumber
git clone https://oauth2:TOKEN@ANY_GIT_PROVIDER_DOMAIN/YOUR_PROJECT/YOUR_REPO.git
juga bekerja untuk saya, terima kasih !! Saya akan Jawab utas ini dengan solusi saya yang benar.Salah satu cara yang mungkin adalah menggunakan token deploy ( https://docs.gitlab.com/ee/user/project/deploy_tokens ). Setelah membuat token, gunakan:
seperti yang disebutkan dalam tautan di atas.
sumber
Sampai
8.12
, kloning menggunakanHTTPS
+ runner token tidak didukung lagi, seperti yang disebutkan di sini :sumber
Di dalam pipa GitLab CI
CI_JOB_TOKEN
variabel lingkungan berfungsi untuk saya:Sumber: Gitlab Docs
BTW, pengaturan variabel ini dalam
.gitlab-ci.yml
membantu untuk men-debug kesalahan.sumber
Saya menggunakan SSH menggunakan pengaturan kunci penyebaran per proyek (hanya baca)
sumber
Untuk membuat masa depan saya bahagia: RTFM - jangan gunakan token gitlab-ci-sama sekali, tetapi
.netrc
file.Ada beberapa poin penting:
echo -e "machine gitlab.com\nlogin gitlab-ci-token\npassword ${CI_JOB_TOKEN}" > ~/.netrc
$CI_JOB_TOKEN
file.!https://gitlab.com/whatever/foobar.com
- bukanssh://git@foobar
, tidakgit+ssh://
, tidakgit+https://
. Anda juga tidak memerlukan barang CI-TOKEN di URL.git clone [url from step 4]
Latar belakang: Saya mengerti
ketika saya mencoba untuk membuat Ansible + Gitlab + Docker berfungsi seperti yang saya bayangkan. Sekarang berhasil.
sumber
Menyesuaikan URL tidak diperlukan. Cukup gunakan konfigurasi git untuk token gitlab seperti
uraian panjang di sini
sumber
banyak jawaban di atas dekat, tetapi mereka mendapatkan ~
username
sintaks untukdeploy
token salah. Ada jenis token lain, tetapideploy token
itulah yang ditawarkan gitlab (sekitar tahun 2020+ setidaknya) per repo untuk memungkinkan akses khusus, termasuk hanya baca.dari
repository
(ataugroup
), carisettings
->repository
->deploy tokens
. Buat yang baru. Ausername
dantoken
bidang dibuat. Theusername
TIDAK nilai tetap secara default; itu unik untuk token ini.git clone https://<your_deploy_token_username>:<the_token>@gitlab.com/your/repo/path.git
diuji di publik gitlab.com, akun gratis.
sumber