Takip et

GitLab CI/CD ile DigitalOcean’da Sorunsuz Nuxt 2 Uygulama Dağıtımı

GitLab CI/CD ile DigitalOcean’da Sorunsuz Nuxt 2 Uygulama Dağıtımı

Merhaba! Fatih Soysal burada. Bu makalede, Nuxt.js 2 uygulamalarınızı GitLab CI/CD ve DigitalOcean kullanarak otomatik ve sorunsuz bir şekilde nasıl dağıtabileceğinizi adım adım açıklayacağım. Bu süreç, geliştirme sürecinizi hızlandıracak ve manuel işlemlerle uğraşmaktan kurtaracaktır. Başlayalım!

Gereksinimler

Öncelikle, aşağıdaki araç ve hizmetlere ihtiyacınız olacak:

  • Bir DigitalOcean hesabı
  • Bir GitLab hesabı
  • Kurulu bir Nuxt.js 2 projesi
  • Node.js ve npm (veya yarn)
  • SSH erişimi için bir SSH istemcisi (Putty, Terminal vs.)

DigitalOcean’da Sunucu Kurulumu

İlk adım, DigitalOcean’da yeni bir sunucu oluşturmaktır. Ubuntu sunucusu seçmenizi öneririm. Sunucu oluşturulduktan sonra, SSH ile sunucuya bağlanın. Ardından, Node.js ve npm’yi (veya yarn’ı) yükleyin. Bunun için aşağıdaki komutları kullanabilirsiniz:


sudo apt update
sudo apt install nodejs npm

Node.js ve npm’nin başarılı bir şekilde kurulduğunu doğrulamak için aşağıdaki komutları çalıştırın:


node -v
npm -v

GitLab CI/CD Yapılandırması

Şimdi, GitLab projenize bir .gitlab-ci.yml dosyası eklememiz gerekiyor. Bu dosya, dağıtım sürecinizi tanımlayacaktır. Aşağıdaki örnek .gitlab-ci.yml dosyasını kullanabilirsiniz. Bu dosya, uygulamanızı derler, oluşturur ve DigitalOcean sunucunuza dağıtır. Bu örnekte, deploy aşamasında SSH kullanarak sunucuya bağlanıyoruz ve uygulamayı orada çalıştırıyoruz. Bu önemli bir detaydır, güvenliğiniz için SSH anahtarlarınızı doğru şekilde yönetmeniz gerekmektedir.


stages:
  - build
  - deploy

build:
  stage: build
  image: node:latest
  script:
    - npm install
    - npm run build

deploy:
  stage: deploy
  image: ubuntu:latest
  variables:
    SSH_PRIVATE_KEY: $PRIVATE_KEY # GitLab değişkenleri aracılığıyla güvenli bir şekilde saklayın
    SSH_HOST: your_server_ip
    SSH_USER: your_username
    DEPLOY_PATH: /var/www/your-nuxt-app  # Dağıtım yolunuzu ayarlayın
  before_script:
    - apt-get update && apt-get install -y openssh-client
    - mkdir -p ~/.ssh
    - echo "$SSH_PRIVATE_KEY" | tr -d '\r' > ~/.ssh/id_rsa
    - chmod 600 ~/.ssh/id_rsa
    - ssh-keyscan $SSH_HOST >> ~/.ssh/known_hosts
  script:
    - ssh $SSH_USER@$SSH_HOST "mkdir -p $DEPLOY_PATH"
    - scp -r ./dist/ $SSH_USER@$SSH_HOST:$DEPLOY_PATH
    - ssh $SSH_USER@$SSH_HOST "cd $DEPLOY_PATH && npm install"  # Eğer gerekirse sunucuda npm install çalıştırın.
    - ssh $SSH_USER@$SSH_HOST "pm2 start npm --name \"your-nuxt-app\" -- start" # pm2 kullanarak uygulamayı başlatın


Yukarıdaki kodu kopyalayıp yapıştırdıktan sonra, your_server_ip, your_username, PRIVATE_KEY ve DEPLOY_PATH değişkenlerini kendi değerlerinizle değiştirin. Özel anahtarınızı (PRIVATE_KEY) GitLab değişkenleri bölümünde güvenli bir şekilde saklamanız önemlidir. Bu, güvenlik açıklarından kaçınmanıza yardımcı olacaktır.

Uygulamayı Dağıtma

.gitlab-ci.yml dosyasını projenize ekledikten sonra, GitLab, kodunuzu her ittiğinizde otomatik olarak dağıtım işlemini başlatacaktır. Bu, geliştirme sürecinizi önemli ölçüde kolaylaştıracaktır. Ayrıca, pm2 gibi bir işlem yöneticisi kullanarak uygulamanızın sunucuda sürekli çalışmasını sağlayabilirsiniz.

Daha fazla bilgi ve ayrıntılı bir anlatım için fatihsoysal.com adresini ziyaret edebilirsiniz. Bu makalede verilen adımları izleyerek, Nuxt.js 2 uygulamalarınızı hızlı ve güvenli bir şekilde dağıtabilirsiniz. Unutmayın, güvenlik önemlidir, SSH anahtarlarınızı ve sunucu bilgilerinizi korumayı ihmal etmeyin!

Başka sorularınız varsa, bana ulaşmaktan çekinmeyin. Ayrıca, Nuxt.js ve DevOps konularında daha fazla bilgi edinmek için Nuxt.js resmi web sitesini ve GitLab CI/CD dokümanlarını inceleyebilirsiniz.

#Etiketler

Nuxt 2, GitLab CI/CD, DigitalOcean, Dağıtım, Deployment, Otomasyon, Rehber, Tutorial, SSH, PM2, DevOps, Node.js, npm


Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.