Berbagi teknologi

Cara mengkonfigurasi variabel dan prinsip lingkungan yang berbeda untuk proyek java

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Cara mengkonfigurasi profil yang berbeda

Pertama-tama, proyek Java memerlukan konfigurasi lingkungan yang berbeda saat mengemas, konfigurasi yang sesuai akan digunakan secara otomatis. Lalu bagaimana cara mencapainya?

Buat atau tambahkan file application.yml di direktori src/main/resources proyek Spring Boot Anda. Di sinilah Spring Boot mencari file konfigurasi secara default. File ini dapat menambahkan konfigurasi umum.

Kemudian, Anda juga dapat membuat file seperti application-test.yml, application-prod.yml, dll. di direktori yang sama. Spring Boot akan secara otomatis mengenali file konfigurasi khusus profil ini. Anda dapat menentukan parameter untuk lingkungan berbeda dalam file ini, seperti alamat database, alamat cache redis, dll.
Artinya, di direktori src/main/resources, mungkin terdapat beberapa file seperti ini:

application.yml
application-prod.yml
application-test.yml
  • 1
  • 2
  • 3

Kemudian, Anda dapat menggunakan application-test.yml dan application-prod.yml untuk mendeklarasikan dua variabel dengan konfigurasi yang sama tetapi nilainya berbeda.Misalnya
aplikasi-test.yml:

mysql:
  url: https://xx.test.com/mysql
  • 1
  • 2

aplikasi-prod.yml:

mysql:
  url: https://xx.online.com/mysql
  • 1
  • 2

Dalam kode Java, Anda dapat menggunakan url ini secara dinamis:

    @Value("${mysql.url}")
    protected String mysqlUrl;
  • 1
  • 2

Sempurna.

Jadi, bagaimana cara otomatis menggunakan file profile-special.yml yang sesuai saat sistem sedang berjalan?Silahkan lihat di bawah ini

Prinsip peralihan otomatis profil

Mari kita lihat bagaimana variabel lingkungan diteruskan ke proyek lapis demi lapis dari jaringan eksternal.
Pertama-tama, proyek Java biasanya dikemas oleh buruh pelabuhan. Jadi, mari kita mulai dengan buruh pelabuhan:

  1. Perintah pengemasan Docker, dengan parameter lingkungan:
docker build -f assistant-web-api/qke/Dockerfile -t docker-registry.qiyi.virtual/mbd-ai/assistant-web-api-test:$tag . --build-arg dc_env=test
  • 1

Kata kunci,membangun-arg , atur parameter, dc_env=test

  1. File Docker, nyatakan kedc_lingkungan, dan digunakan untuk perintah mvn
ARG dc_env
...
RUN mvn -T 8 -DdisableRpm=true -pl '!assistant-web-manager' clean package -Dmaven.test.skip=true -P${dc_env}
  • 1
  • 2
  • 3

Perhatikan bahwa -P berarti mengatur profil

  1. pom.xml, konfigurasikan lingkungan yang berbeda

Perintah mvn pada langkah sebelumnya menambahkan -P. Tentu saja ada di file konfigurasi marven yaitu pom.xml.

<profiles>
        <profile>
            <id>test</id>
            <properties>
                <profile.active>test</profile.active>
                <log.env>test</log.env>
            </properties>
        </profile>
        <profile>
            <id>prod</id>
            <properties>
                <profile.active>prod</profile.active>
                <log.env>prod</log.env>
            </properties>
        </profile>
    </profiles>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

Di atas, 2 variabel lingkungan ditambahkan.Untuk setiap variabel, properti ditetapkan, yaitu,profil.aktif
Dimana nilai ini dapat digunakan?

Gunakan di file application.yml utama!

server:
  profiles:
    active: @profile.active@
  • 1
  • 2
  • 3

Tentukan Profil mana yang akan digunakan berdasarkan nilai variabel profile.active pada langkah sebelumnya.

Sejak itu, variabel yang ditentukan dari paket buruh pelabuhan telah diteruskan ke file yml utama. Dalam file ini, berapa pun nilainya server.profiles.active, konfigurasi sub-yml mana yang akan digunakan. Misalnya, jika test, konfigurasi application-test.yml akan dimuat! ! !

Cara berpindah lingkungan di lingkungan pengembangan

  1. Pertama, Marven melakukan sinkronisasi terlebih dahulu. Setelah sinkronisasi, periksa lingkungan.
    Masukkan deskripsi gambar di sini

  2. Selanjutnya, kompilasi dan paket secara lokal, dan tentukan variabel lingkungan melalui -P:
    Masukkan deskripsi gambar di sini

  3. Terakhir, untuk menjalankan, klik pojok kanan atas gambar di bawah. Akan ada jendela pop-up Edit Konfigurasi. Di Profil Aktif, isikan variabel lingkungan yang sesuai, seperti pengujian
    Masukkan deskripsi gambar di sini

  4. Terakhir, Anda bisa klik Run!