Mengkonfigurasi server CI dan VPS gitlab.com

gambar
Pada artikel ini, saya memutuskan untuk menggambarkan pengalaman saya dengan mengkonfigurasi gitlab CI dan menyewa VPS.

Latar Belakang


Di tempat kerja, uv. DevOps'y mengkonfigurasikan kepada saya sebuah penyebaran proyek di kubernetes ( saya bekerja sebagai Go-developer ). Saya punya proyek peliharaan sendiri - dan saya ingin mengotomatisasi, tetapi tidak ada keinginan khusus untuk meningkatkan gitlab saya (VPS toh bukan karet).

Data awal



Buat Repositori


Kami membuat repositori yang ingin kami otomatisasi.

Saya memutuskan untuk tes untuk meningkatkan buruh pelabuhan dengan nginx dan meneruskan ke halaman html.

Struktur repositori:

  • Dockerfile
    FROM nginx:latest
    COPY html /var/www/html
    COPY nginx.conf /etc/nginx/nginx.conf


  • nginx.conf
    events {}
    http {
    server {
        listen 80;
        location / {
                root /var/www/html;
        }
    }
    }


  • html
    • index.html
      <html>
      <h1>Hello, Runner!</h1>
      </html>


  • .gitlab-ci.yml
    
    image: docker:19.03.8
    
    before_script:
      - docker info
    
    build:
      stage: build
      script:
        - docker build -t hellorunner .
    
    deploy:
      stage: deploy
      script:
        - docker ps --filter name=hellorunner --quiet |  xargs --no-run-if-empty docker stop | xargs --no-run-if-empty  docker rm
        - docker run -d --restart=always --name hellorunner -p 8090:80 hellorunner
              
    after_script:
        - docker system prune -f
    


Pengaturan repositori


Buka pengaturan -> CI

gambar

Kemudian, klik Pelari, perluas.
gambar

Pertama, matikan pelari yang diusulkan - Nonaktifkan pelari yang dibagikan

gambar

Kemudian, kami tertarik pada - "Siapkan Pelari tertentu secara manual"

gambar

Kami menyalin token, di masa depan kami akan membutuhkannya.

Persiapan VPS


Instal buruh pelabuhan .

Instal gitlab-runner .

Daftarkan pelari baru.

! Di bidang pelaksana, tentukan versi buruh pelabuhan, seperti di Dockerfile!
Di bidang token, tentukan token yang diingat dari gitlab


gitlab-runner register

gambar

Sekarang, Anda perlu membuat perubahan kecil pada konfigurasi pelari.

nano /etc/gitlab-runner/config.toml

bidang

volumes = ["/cache"]

mengubah

volumes = ["/var/run/docker.sock:/var/run/docker.sock", "/cache"]

gambar

Mulai ulang daemon

gitlab-runner restart

Kembali ke gitlab / pengaturan / CI / Pelari lagi.

Seorang pelari aktif akan muncul.

gambar

Edit pelari, dengan menekan.

gambar

Izinkan untuk melakukan tugas tanpa tag.

gambar

Sekarang jalankan komit dan ikuti pekerjaan.

gambar

Dan akhirnya, buka browser.

gambar

Tautan ke repositori

PS: Saya menemui masalah - Saya memiliki gambar rakitan dari dalam yang tidak memiliki akses ke jaringan eksternal, solusinya adalah buat file /etc/docker/daemon.json :

{
    "dns": ["8.8.4.4", "8.8.8.8"]
}

 service docker restart

All Articles