github CI/CD 管道與 Laravel

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

這是我的第一篇文章,所以你可能無法理清很多事情,但我會盡力按照我已經做過或正在做的方式來表達,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

Ich hoffe du verstehst. Wenn es einen Fehler gibt, lassen Sie es mich bitte in den Kommentaren wissen Und wenn es Ihnen gefällt, kommentieren Sie es bitte
Vielen Dank.

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

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