development:system:ci-cd
CI/CD Bitbucket
Tạo 1 tài khoản dev và tạo ssh key, sau đó copy nội dung file .pub vào phần quản lý SSH Key của Bitbucket:
$ su dev $ ssh-keygen -t rsa -b 4096 -C "tungnt.blue@gmail.com" Generating public/private rsa key pair. Enter file in which to save the key (/home/dev/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/dev/.ssh/id_rsa Your public key has been saved in /home/dev/.ssh/id_rsa.pub $ cat id_rsa.pub $ cd /srv/www/domain.com $ git branch * master
Truy cập vào Repository settings, copy nội dung Public key thêm vào file ~/.ssh/authorized_keys trên hệ thống.
$ chmod 700 ~/.ssh $ chmod 600 ~/.ssh/authorized_keys
Tiếp tục thêm IP server vào mục Known hosts, ví dụ ip:port và click Fetch. Sau đó click Add host.
Tại file code của project, thêm 2 file với nội dung như sau:
- bitbucket-pipelines.yml
# This is a sample build configuration for PHP. # Check our guides at https://confluence.atlassian.com/x/e8YWN for more examples. # Only use spaces to indent your .yml configuration. # ----- # You can specify a custom docker image from Docker Hub as your build environment. image: php:7.2.6 pipelines: branches: master: - step: caches: - composer script: - apt-get update && apt-get install -y unzip libmcrypt-dev openssh-client - ssh dev@domain.com -p 22 'bash -s' < ci/deploy.sh
- ci/deploy.sh
#!/bin/bash echo 'Deploying domain.com' cd /srv/www/domain.com git pull origin master exit
Sau khi xong, đẩy code lên git và vào mục Pipelines trong phần cài đặt Repository của Bitbucket để theo dõi update code.
Tham khảo:
CI/CD Github
Tạo file .github/workflows/ci.yml:
name: CI on: [push] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - name: Install composer dependencies run: composer install --prefer-dist - name: Run PHPCS run: php7.3 vendor/bin/phpcs src/ - name: Run PHPUnit test run: php7.3 vendor/bin/phpunit
development/system/ci-cd.txt · Last modified: 2024/08/06 06:59 by 127.0.0.1