GitLab
Gunakan Dropstone dalam isu dan permintaan penggabungan GitLab.
Dropstone terintegrasi dengan alur kerja GitLab Anda melalui pipeline GitLab CI/CD Anda atau dengan GitLab Duo.
Dalam kedua kasus tersebut, Dropstone akan berjalan pada runner GitLab Anda.
GitLab CI
Dropstone bekerja dalam pipeline GitLab biasa. Anda dapat membangunnya ke dalam pipeline sebagai komponen CI
Di sini kami menggunakan komponen CI/CD buatan komunitas untuk Dropstone: nagyv/gitlab-dropstone.
Fitur
- Gunakan konfigurasi kustom per pekerjaan: Konfigurasikan Dropstone dengan direktori konfigurasi kustom, misalnya
./config/#custom-directoryuntuk mengaktifkan atau menonaktifkan fungsionalitas per pemanggilan Dropstone. - Pengaturan minimal: Komponen CI menyiapkan Dropstone di latar belakang, Anda hanya perlu membuat konfigurasi Dropstone dan prompt awal.
- Fleksibel: Komponen CI mendukung beberapa input untuk menyesuaikan perilakunya
Pengaturan
-
Simpan JSON autentikasi Dropstone Anda sebagai variabel lingkungan CI tipe File di bawah Settings > CI/CD > Variables. Pastikan untuk menandainya sebagai "Masked and hidden".
-
Tambahkan kode berikut ke file
.gitlab-ci.ymlAnda.include: - component: $CI_SERVER_FQDN/nagyv/gitlab-dropstone/dropstone@2 inputs: config_dir: ${CI_PROJECT_DIR}/dropstone-config auth_json: $DROPSTONE_AUTH_JSON # Nama variabel untuk JSON autentikasi Dropstone Anda command: optional-custom-command message: "Prompt Anda di sini"
Untuk lebih banyak input dan kasus penggunaan, lihat dokumentasi untuk komponen ini.
GitLab Duo
Dropstone terintegrasi dengan alur kerja GitLab Anda.
Sebut @dropstone dalam sebuah komentar, dan Dropstone akan mengeksekusi tugas-tugas dalam pipeline GitLab CI Anda.
Fitur
- Triase isu: Minta Dropstone untuk memeriksa sebuah isu dan menjelaskannya kepada Anda.
- Perbaiki dan implementasikan: Minta Dropstone untuk memperbaiki isu atau mengimplementasikan fitur. Dropstone akan membuat cabang baru dan mengajukan permintaan penggabungan dengan perubahan tersebut.
- Aman: Dropstone berjalan pada runner GitLab Anda.
Pengaturan
Dropstone berjalan dalam pipeline GitLab CI/CD Anda, berikut yang perlu Anda siapkan:
Tip
Lihat dokumentasi GitLab untuk instruksi terbaru.
- Konfigurasikan lingkungan GitLab Anda
- Siapkan CI/CD
- Dapatkan kunci API Dropstone (lihat Quickstart)
- Buat akun layanan
- Konfigurasikan variabel CI/CD
- Buat file konfigurasi alur. Contoh:
image: node:22-slim
commands:
- echo "Installing Dropstone"
- curl -fsSL https://dropstone.io/install | bash
- echo "Installing glab"
- export GITLAB_TOKEN=$GITLAB_TOKEN_DROPSTONE
- apt-get update --quiet && apt-get install --yes curl wget gpg git && rm --recursive --force /var/lib/apt/lists/*
- curl --silent --show-error --location "https://raw.githubusercontent.com/upciti/wakemeops/main/assets/install_repository" | bash
- apt-get install --yes glab
- echo "Configuring glab"
- echo $GITLAB_HOST
- echo "Creating Dropstone auth configuration"
- mkdir --parents ~/.local/share/dropstone
- |
cat > ~/.local/share/dropstone/auth.json << EOF
{
"dropstone": {
"type": "api",
"key": "$DROPSTONE_API_KEY"
}
}
EOF
- echo "Configuring git"
- git config --global user.email "dropstone@gitlab.com"
- git config --global user.name "Dropstone"
- echo "Testing glab"
- glab issue list
- echo "Running Dropstone"
- |
dropstone run "
Anda adalah asisten AI yang membantu operasi GitLab.
Konteks: $AI_FLOW_CONTEXT
Tugas: $AI_FLOW_INPUT
Peristiwa: $AI_FLOW_EVENT
Silakan jalankan tugas yang diminta menggunakan alat GitLab yang tersedia.
Bersikaplah teliti dalam analisis Anda dan berikan penjelasan yang jelas.
Gunakan CLI glab untuk mengakses data dari GitLab. CLI glab sudah diautentikasi.
Jika Anda diminta untuk merangkum MR atau isu, atau memberikan informasi lebih lanjut,
kirimkan kembali catatan ke MR/Isu agar pengguna dapat melihatnya.
"
- git checkout --branch $CI_WORKLOAD_REF origin/$CI_WORKLOAD_REF
- echo "Memeriksa perubahan git dan mendorong jika ada"
- |
if ! git diff --quiet || ! git diff --cached --quiet || [ -n "$(git ls-files --others --exclude-standard)" ]; then
echo "Perubahan git terdeteksi, menambahkan dan mendorong..."
git add .
if git diff --cached --quiet; then
echo "Tidak ada perubahan yang di-stage untuk di-commit"
else
echo "Melakukan commit perubahan ke cabang: $CI_WORKLOAD_REF"
git commit --message "Perubahan Dropstone"
echo "Mendorong perubahan ke $CI_WORKLOAD_REF"
git push "https://gitlab-ci-token:$GITLAB_TOKEN@$GITLAB_HOST/$CI_PROJECT_PATH.git" $CI_WORKLOAD_REF
echo "Perubahan berhasil didorong"
fi
else
echo "Tidak ada perubahan git yang terdeteksi, melewati push"
fi
variables:
- DROPSTONE_API_KEY
- GITLAB_TOKEN_DROPSTONE
- GITLAB_HOST
Anda dapat merujuk ke dokumentasi GitLab Duo Agent Platform untuk instruksi terperinci.
Contoh
Berikut adalah beberapa contoh cara menggunakan Dropstone di GitLab.
Tip
Anda dapat mengonfigurasi frasa pemicu yang berbeda selain @dropstone.
-
Jelaskan sebuah isu
Tambahkan komentar ini di isu GitLab.
@dropstone jelaskan isu iniDropstone akan membaca isu tersebut dan membalas dengan penjelasan yang jelas.
-
Perbaiki sebuah isu
Di isu GitLab, katakan:
@dropstone perbaiki iniDropstone akan membuat cabang baru, mengimplementasikan perubahan, dan membuka permintaan penggabungan dengan perubahan tersebut.
-
Tinjau permintaan penggabungan
Tinggalkan komentar berikut pada permintaan penggabungan GitLab.
@dropstone tinjau permintaan penggabungan iniDropstone akan meninjau permintaan penggabungan tersebut dan memberikan umpan balik.