Kami sudah mencoba pendekatan seperti yang tercantum di bawah ini:
- https://github.com/oliverlockwood/jenkinsfile-idea-plugin
- https://st-g.de/2016/08/jenkins-pipeline-autocompletion-in-intellij
Setelah menelusuri web selama berjam-jam dalam beberapa hari, kami masih belum menemukan sumber daya yang berguna tentang masalah ini. Jadi, tampaknya masuk akal untuk mengajukan pertanyaan baru di sini.
Kami sedang mengembangkan proyek Java kami dengan ide IntelliJ dan ingin mengintegrasikan build kami dengan Jenkins. Saat kami membuat Jenkinsfile di Idea, kami tidak mendapatkan penyorotan sintaks atau penyelesaian otomatis. Karena kami baru mengenal Jenkins, fitur-fitur itu akan sangat berguna bagi kami. Bagaimana kita bisa membuat Idea lebih mendukung dengan Jenkinsfiles?
Jika tidak ada cara untuk mendapatkan penyorotan sintaks dan penyelesaian otomatis untuk Jenkinsfile dalam ide, editor lain apa yang akan membantu?
Tolong dicatat:
- kami bekerja dengan proyek java, bukan proyek keren.
Kami sudah mencoba plugin https://github.com/oliverlockwood/jenkinsfile-idea-plugin . Saat plugin diaktifkan, Jenkinsfile dikenali, tetapi alih-alih menyoroti sintaks kami mendapatkan pesan kesalahan, silakan lihat di bawah.
pipeline { agent { docker 'maven:3.3.3' } stages { stage('build') { steps { sh 'echo Hello, World!' } } } }
Ide menyoroti 'p' dari 'pipeline' sebagai kesalahan. Pesan kesalahan tersebut berbunyi:
JenkinsTokenType.COMMENT, JenkinsTokenType.CRLF atau JenkinsTokenType.STEP_KEY diharapkan, dapatkan 'p'
Terima kasih atas bantuannya!
Jawaban:
Jika Anda ingin IDEA mengenali Jenkinsfile sebagai file Groovy, Anda dapat menambahkan String "Jenkinsfile" sebagai pola nama file yang valid (biasanya berisi akhiran file) untuk file Groovy. Ini didukung "di luar kotak" tanpa memerlukan Plugin tambahan (kecuali Plugin "Groovy", tetapi itu sudah menjadi bagian dari IDEA).
Untuk melakukan itu pergi ke menu pengaturan, buka item "Editor" dan kemudian "Jenis File". Sekarang pilih "Groovy" di daftar atas dan tambahkan "Jenkinsfile". Anda juga dapat menggunakan regex seperti "Jenkinsfile *" jika Anda ingin lebih fleksibel terkait dengan file opsional yang diakhiri dengan Jenkinsfile.
Pengaturannya sekarang akan terlihat seperti ini:
Contoh Anda sekarang terlihat seperti ini di IDEA (dengan tema Drakula):
Jadi IDEA sekarang menyediakan penyorotan sintaks dan penyelesaian otomatis sejauh yang saya tahu. Ini menyarankan nama fungsi / metode yang ada saat menulis, tetapi saya bukan pengembang Groovy, jadi saya tidak tahu apakah beberapa saran hilang.
sumber
*.declarative
ditugaskan ke jenis file Teks.Pilihan lainnya adalah menggunakan shabang di atas Jenkinsfile seperti ini
#!/usr/bin/env groovy
. Anda juga dapat mencoba gdsl: https://st-g.de/2016/08/jenkins-pipeline-autocompletion-in-intellij tetapi sejauh ini tidak mendukung pipeline deklaratif: https: //issues.jenkins-ci .org / browse / JENKINS-40127sumber
Di bawah ini adalah umpan balik yang kami dapatkan dari IntelliJ . Kami akan menindaklanjuti ini jika kami dapat memberikan solusi yang berfungsi.
Andrey Dernov, IntelliJ, 14 Desember, 07:50 CET
Halo Georg, tidak ada dukungan Intellisense Editor khusus untuk mengedit Jenkinsfiles di IDE. Anda perlu menulis plugin bahasa kustom untuk ini.
Atau Anda dapat mempertimbangkan untuk mengimplementasikan dukungan tersebut melalui penulisan Kotlin DSL. Beberapa contoh untuk memulai.
sumber
Melihat kode sumber, sepertinya KOMENTAR tidak ditentukan (dikomentari di dalam kode)
STEP_KEY didefinisikan sebagai: STEP_NAME = "sh" | "paralel"
Saya tidak yakin plugin melakukan lebih banyak lagi dan belum diperbarui dalam 2 tahun.
sumber
Jika Anda menambahkan
header ke jenkinsfile Anda, maka Anda harus mendapatkan penyorotan sintaks yang asyik di IDE.
sumber
Gunakan
sh
seperti ini dan kesalahan akan hilang (berhasil untuk saya) ...sumber