github CI/CD 管道與 Laravel

DDD
發布: 2024-09-13 06:30:06
原創
279 人瀏覽過

這是我的第一篇文章,所以你可能無法理清很多事情,但我會盡力按照我已經做過或正在做的方式來表達,InshaAllah。
一般來說,在孟加拉語中沒有得到任何好的帖子,我想我如何使用CI/CD 在cPanel 中部署laravel 站點,如果它是一個帖子,它將對我以後有用,很多人也可以使我的兄弟受益。那麼就讓我們繼續主要任務吧。

首先我們要登入cPanel,然後進入FTP帳號選單。去那裡之後我們需要開一個FTP帳戶。如果在那裡成功建立帳戶,它將如下圖所示。

github CI/CD Pipeline with Laravel

github CI/CD Pipeline with Laravel

github CI/CD Pipeline with Laravel

建立帳戶後,儲存使用者名稱、伺服器、端口,稍後會使用。 之後就創建了資料庫,如果你是開發者肯定知道這一點,所以就不展示了。

之後登入 github,並檢查專案的儲存庫。

並按照下圖操作。

github CI/CD Pipeline with Laravel

github CI/CD Pipeline with Laravel 之後你可以進入Action選單,你會看到如下介面,從這裡點擊這裡自己設定一個工作流程,之後它會告訴你在yml中寫邏輯。複製並貼上以下文件,輸入您的資料庫名稱、使用者名稱、密碼
。 `名稱:Laravel CI/CD
於:
推:
分支:[master]
pull_request:
分支:[master]

工作:

網路部署:
名稱:部署
運行:ubuntu-latest

services:
  mysql:
    image: mysql:5.7
    ports:
      - 3306:3306
    env:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: dbname
      MYSQL_USER: username
      MYSQL_PASSWORD: password
    options: '--health-cmd="mysqladmin ping --silent" --health-interval=10s --health-timeout=5s --health-retries=3'

steps:
  - uses: actions/checkout@v2.3.2

  - name: Setup PHP
    uses: shivammathur/setup-php@15c43e89cdef867065b0213be354c2841860869e
    with:
      php-version: '8.1.21'

  - name: Copy .env
    run: php -r "file_exists('.env') || copy('.env.example', '.env');"

  - name: Update .env for CI environment
    run: |
      sed -i 's/^DB_CONNECTION=.*/DB_CONNECTION=mysql/' .env
      sed -i 's/^DB_HOST=.*/DB_HOST=127.0.0.1/' .env
      sed -i 's/^DB_PORT=.*/DB_PORT=3306/' .env
      sed -i 's/^DB_DATABASE=.*/DB_DATABASE=dbname/' .env
      sed -i 's/^DB_USERNAME=.*/DB_USERNAME=username/' .env
      sed -i 's/^DB_PASSWORD=.*/DB_PASSWORD=password/' .env

  - name: Install Dependencies
    run: composer install --ignore-platform-reqs

  - name: Generate key
    run: php artisan key:generate

  - name: Wait for MySQL to be ready
    run: |
      until mysqladmin ping --host=127.0.0.1 --user=username --password=password --silent; do
        echo "Waiting for database connection..."
        sleep 5
      done

  - name: Test Database Connection
    run: php -r "new PDO('mysql:host=127.0.0.1;dbname=dbname', 'username', 'password');"

  - name: Rollback Migrations and Seed
    run: php artisan migrate:fresh --seed --verbose

  - name: Directory Permissions
    run: chmod -R 775 storage

  - name: ? Sync files
    uses: SamKirkland/FTP-Deploy-Action@4.0.0
    with:
      server: ${{ secrets.FTP_SERVER }}
      username: ${{ secrets.FTP_USERNAME }}
      password: ${{ secrets.FTP_PASSWORD }}
      server-dir: /
      local-dir: ./
      exclude: |
        vendor/*
        node_modules/*
登入後複製
`

github CI/CD Pipeline with Laravel 之後,按一下「提交變更」按鈕,然後如果您的 Git 中的 master 分支中有任何程式碼,那麼它們將儲存在您的 cpanel 的 public_html 資料夾中。在本地,您需要使用主分支的池進行更新。第一次上傳會花很多時間,但從下一次開始就不會花太多時間了。一旦新程式碼被推送到主分支,它就會自動轉到伺服器,沒有任何麻煩,花費更少的時間並提高工作效率。

github CI/CD Pipeline with Laravel

希望你能理解。如果有任何錯誤,請在評論中告訴我
如果喜歡的話請評論
謝謝你。

以上是github CI/CD 管道與 Laravel的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!