Triển khai Laravel cho Heroku từ GitHub

Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách thiết lập quy trình triển khai liên tục để triển khai ứng dụng Laravel lên nền tảng Heroku với ít rắc rối nhất. Triển khai tự động giúp các nhóm hạn chế sự can thiệp của con người trong quá trình triển khai, giảm rủi ro lỗi và hợp lý hóa toàn bộ quy trình phát hành phần mềm

điều kiện tiên quyết

Đối với bài đăng này, bạn sẽ cần

  • Hiểu biết về PHP và Laravel
  • PHP7. 4 trở lên, tốt nhất là PHP 8
  • Git
  • Trình soạn nhạc được cài đặt trên máy tính của bạn
  • MySQL được cài đặt trên máy tính của bạn
  • Tài khoản GitHub
  • Tài khoản CircleCI
  • Tài khoản Heroku

Các hướng dẫn của chúng tôi không dựa trên nền tảng, nhưng hãy sử dụng CircleCI làm ví dụ. Nếu bạn chưa có tài khoản CircleCI, hãy đăng ký một tài khoản miễn phí tại đây

Bắt đầu

Để bắt đầu, hãy sao chép ứng dụng Tác giả được tạo bằng Laravel. Với ứng dụng này, bạn có thể tạo danh sách các tác giả bằng cách nêu rõ tên người dùng name, email, github

cd laravel-heroku-app

composer install
0 của họ. Từ thiết bị đầu cuối, nhập lệnh này để tải xuống dự án

git clone --single-branch --branch template //github.com/CIRCLECI-GWP/laravel-heroku-app.git laravel-heroku-app

Di chuyển vào ứng dụng, cài đặt các phụ thuộc của nó và tạo khóa ứng dụng

cd laravel-heroku-app

composer install

Tiếp theo, tạo tệp

cd laravel-heroku-app

composer install
1 và tạo khóa ứng dụng bằng các lệnh này

cp .env.example .env

php artisan key:generate

Chạy ứng dụng cục bộ

Chạy ứng dụng cục bộ xác nhận rằng nó đang hoạt động như mong đợi. Tuy nhiên, trước tiên, hãy cập nhật thông tin đăng nhập cơ sở dữ liệu

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=YOUR_DATABASE_NAME
DB_USERNAME=YOUR_DATABASE_USERNAME
DB_PASSWORD=YOUR_DATABASE_PASSWORD

Thay thế

cd laravel-heroku-app

composer install
2,
cd laravel-heroku-app

composer install
3 và
cd laravel-heroku-app

composer install
4 bằng các giá trị bạn định sử dụng

Tiếp theo, tạo bảng cơ sở dữ liệu và chạy ứng dụng

php artisan migrate

php artisan serve

Truy cập

cd laravel-heroku-app

composer install
5 để xem trang chủ của ứng dụng

Nhấn vào Tác giả để xem danh sách tác giả. Nếu không có tác giả nào được tạo, khoảng trống bên dưới nhãn cột sẽ trống

Nhấp vào Tạo tác giả mới để thêm tác giả mới

Nhập thông tin chi tiết và nhấp vào Gửi

Bây giờ bạn đã xác nhận rằng ứng dụng demo hoạt động, bạn có thể bắt đầu thiết lập triển khai cho Heroku

Tạo ứng dụng trên Heroku

Để tạo ứng dụng trên Heroku, hãy truy cập bảng điều khiển Heroku. Nhấp vào Mới rồi đến Ứng dụng mới. Điền vào biểu mẫu với tên cho ứng dụng của bạn và khu vực của bạn

Sau đó, nhấp vào Tạo ứng dụng. Bạn sẽ được chuyển hướng đến giao diện Triển khai của ứng dụng mới tạo của bạn

Thêm tiện ích ClearDB MySQL

Theo mặc định, Laravel cung cấp hỗ trợ của bên thứ nhất cho năm cơ sở dữ liệu. Để nhất quán, tốt nhất là duy trì cùng một cơ sở dữ liệu MySQL trên Heroku như bạn có cục bộ. Heroku hoạt động theo mặc định với PostgreSQL, nhưng vì dự án hướng dẫn này sử dụng MySQL nên bạn cần cài đặt một tiện ích bổ sung MySQL có tên. Gói miễn phí sẽ hoạt động đủ tốt cho hướng dẫn này

Để cài đặt ClearDB, nhấp vào Tài nguyên, tìm kiếm ClearDB và chọn nó

Chọn gói miễn phí và sau đó nhấp vào Gửi mẫu đơn đặt hàng

Khi quá trình hoàn tất, ClearDB sẽ tạo một chuỗi kết nối và đưa nó vào các biến cấu hình cho ứng dụng

Để cập nhật các biến môi trường khác cho ứng dụng của bạn, hãy nhấp vào Cài đặt, sau đó nhấp vào Hiển thị Biến cấu hình. Sao chép

cd laravel-heroku-app

composer install
6 và dán nó vào nơi bạn có thể dễ dàng trích xuất thông tin đăng nhập

URL cơ sở dữ liệu phải ở định dạng này.

cd laravel-heroku-app

composer install
7. Sử dụng URL cơ sở dữ liệu đã tạo, thêm các biến này

  • cd laravel-heroku-app
    
    composer install
    
    8 bật tắt chế độ debug cho ứng dụng Laravel
  • cd laravel-heroku-app
    
    composer install
    
    9 cho biết ứng dụng là cục bộ hay đang sản xuất
  • cp .env.example .env
    
    php artisan key:generate
    
    0 là khóa ứng dụng được tạo. Bạn có thể sử dụng bản sao từ máy cục bộ của mình
  • cp .env.example .env
    
    php artisan key:generate
    
    1 chỉ định tên ứng dụng
  • cp .env.example .env
    
    php artisan key:generate
    
    2 được sử dụng để nêu URL cho ứng dụng của bạn. Trong trường hợp này, đó là URL cho ứng dụng Heroku của chúng tôi

Bây giờ bạn cần một khóa API. Bạn sẽ sử dụng khóa này với tên ứng dụng để kết nối đường dẫn CircleCI của mình với Heroku. Để lấy khóa API của bạn, hãy mở trang cài đặt tài khoản. Cuộn đến phần khóa API

Nhấp vào nút Reveal và sao chép khóa API. Lưu nó ở đâu đó bạn có thể dễ dàng tìm thấy nó sau này

Thêm tệp cấu hình CircleCI

Trong phần hướng dẫn này, tôi sẽ hướng dẫn bạn cách thêm cấu hình đường ống cho CircleCI. Đối với dự án này, quy trình bao gồm các bước để triển khai ứng dụng của chúng tôi lên Heroku

Tại thư mục gốc của dự án, hãy tạo một thư mục có tên

cp .env.example .env

php artisan key:generate
3. Trong thư mục đó, tạo một tệp có tên
cp .env.example .env

php artisan key:generate
4. Trong tệp mới tạo, thêm cấu hình này

version: 2.1
orbs:
  heroku: circleci/heroku@1.2.6
jobs:
  build:
    docker:
      - image: cimg/php:8.0

    steps:
      - checkout
      # Download and cache dependencies
      - restore_cache:
          keys:
            - v1-dependencies-{{ checksum "composer.json" }}
      - run:
          name: "Install Dependencies"
          command: composer install -n --prefer-dist

      - save_cache:
          key: v1-dependencies-{{ checksum "composer.json" }}
          paths:
            - ./vendor
  deploy_app:
    executor: heroku/default
    steps:
      - checkout
      - heroku/install
      - heroku/deploy-via-git:
          force: true
      - run:
          command: |
            heroku run --app=${HEROKU_APP_NAME} php artisan migrate --force
workflows:
  deploy:
    jobs:
      - build
      - deploy_app

Tệp cấu hình này chỉ định phiên bản CircleCI cho dự án. Phím

cp .env.example .env

php artisan key:generate
5 gọi phiên bản mới nhất của quả cầu Heroku có sẵn tại thời điểm viết. Quả cầu này đã trừu tượng hóa sự phức tạp thường liên quan đến việc thiết lập Heroku CLI. Quả cầu tự động cài đặt nó và sử dụng nó để triển khai ứng dụng cho Heroku

Công việc

cp .env.example .env

php artisan key:generate
6 lấy hình ảnh PHP Docker từ sổ đăng ký CircleCI Docker Hub. Mã của bạn được kiểm tra từ kho lưu trữ và các phần phụ thuộc của dự án được cài đặt. Đây sẽ là một nơi tốt để chạy thử nghiệm nếu nó được định cấu hình cho dự án của bạn. Chúng tôi sẽ bỏ qua việc kiểm tra hướng dẫn này và chỉ tập trung vào việc triển khai nền tảng Heroku

Công việc

cp .env.example .env

php artisan key:generate
7 đã sử dụng trình thực thi
cp .env.example .env

php artisan key:generate
8 để kiểm tra dự án và cài đặt Heroku CLI. Ứng dụng được triển khai và lệnh di chuyển được chạy để tạo cơ sở dữ liệu cho ứng dụng của bạn trên Heroku

Ghi chú. Chỉ chạy lệnh di chuyển một lần [ở lần triển khai đầu tiên]. Sau đó chỉnh sửa tệp cấu hình để xóa lệnh di chuyển

Tạo hồ sơ

Procfile giúp xác định các loại quy trình và các lệnh sẽ được thực thi để khởi động ứng dụng. Đối với thời gian chạy PHP, bạn có tùy chọn sử dụng Apache2 hoặc Nginx làm máy chủ web để chạy ứng dụng này. Đối với hướng dẫn này, chúng tôi sẽ sử dụng Apache2 để phục vụ ứng dụng của mình. Để thiết lập nó, hãy điều hướng đến thư mục gốc của dự án của bạn, tạo một tệp mới có tên

cp .env.example .env

php artisan key:generate
9 và điền vào tệp này

web: vendor/bin/heroku-php-apache2 public/

Lệnh này đặt máy chủ web thành Apache và chỉ định thư mục nơi ứng dụng của bạn sẽ được phục vụ từ đó. Đối với dự án này, đó là thư mục

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=YOUR_DATABASE_NAME
DB_USERNAME=YOUR_DATABASE_USERNAME
DB_PASSWORD=YOUR_DATABASE_PASSWORD
0

Tiếp theo, thiết lập kho lưu trữ trên GitHub và liên kết dự án với CircleCI. Xem lại Đẩy dự án của bạn lên GitHub để biết hướng dẫn từng bước

Đăng nhập vào tài khoản CircleCI của bạn. Nếu bạn đã đăng ký bằng tài khoản GitHub của mình, tất cả các kho lưu trữ của bạn sẽ có sẵn trên bảng điều khiển dự án của bạn

Nhấp vào Thiết lập dự án cho dự án

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=YOUR_DATABASE_NAME
DB_USERNAME=YOUR_DATABASE_USERNAME
DB_PASSWORD=YOUR_DATABASE_PASSWORD
1 của bạn

Bạn sẽ được nhắc ghi tệp cấu hình mới hoặc sử dụng tệp cấu hình hiện có trong dự án của bạn. Chọn tùy chọn hiện có. Nhập tên của nhánh nơi mã của bạn được đặt trên GitHub, sau đó nhấp vào nút Let's Go

Luồng công việc đầu tiên của bạn sẽ bắt đầu chạy nhưng sẽ không thành công

Quá trình triển khai này không thành công vì bạn chưa cung cấp khóa API Heroku của mình. Bạn có thể khắc phục điều đó ngay bây giờ. Nhấp vào nút Cài đặt dự án, sau đó nhấp vào Biến môi trường. Thêm hai biến mới này

  • DB_CONNECTION=mysql
    DB_HOST=127.0.0.1
    DB_PORT=3306
    DB_DATABASE=YOUR_DATABASE_NAME
    DB_USERNAME=YOUR_DATABASE_USERNAME
    DB_PASSWORD=YOUR_DATABASE_PASSWORD
    
    2 là tên ứng dụng trong Heroku [
    DB_CONNECTION=mysql
    DB_HOST=127.0.0.1
    DB_PORT=3306
    DB_DATABASE=YOUR_DATABASE_NAME
    DB_USERNAME=YOUR_DATABASE_USERNAME
    DB_PASSWORD=YOUR_DATABASE_PASSWORD
    
    3]
  • DB_CONNECTION=mysql
    DB_HOST=127.0.0.1
    DB_PORT=3306
    DB_DATABASE=YOUR_DATABASE_NAME
    DB_USERNAME=YOUR_DATABASE_USERNAME
    DB_PASSWORD=YOUR_DATABASE_PASSWORD
    
    4 là khóa API Heroku mà bạn đã lấy từ trang cài đặt tài khoản

Chọn Chạy lại quy trình công việc từ Không thành công để chạy lại triển khai Heroku. Lần này, quy trình làm việc của bạn sẽ chạy thành công

Bạn có thể xác nhận điều này từ các lần di chuyển đã áp dụng

Để xác nhận rằng quy trình làm việc của bạn đã thành công, hãy mở ứng dụng mới được triển khai trong trình duyệt của bạn. URL cho ứng dụng của bạn phải ở định dạng này

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=YOUR_DATABASE_NAME
DB_USERNAME=YOUR_DATABASE_USERNAME
DB_PASSWORD=YOUR_DATABASE_PASSWORD
5

Phần kết luận

Trong hướng dẫn này, bạn đã học các bước và quy trình cần thiết để thiết lập quy trình triển khai liên tục cho ứng dụng Laravel bằng CircleCI và Heroku. Sử dụng quy trình này đảm bảo chất lượng của việc triển khai các tính năng và giảm đáng kể rủi ro do lỗi của con người ảnh hưởng đến môi trường sản xuất

Tôi hy vọng rằng bạn thấy hướng dẫn này hữu ích. Kiểm tra tại đây trên GitHub để biết mã nguồn hoàn chỉnh cho dự án được xây dựng tại đây. Cho đến lần sau, hãy tận hưởng

Oluyemi là một người đam mê công nghệ với nền tảng về Kỹ thuật Viễn thông. Với mối quan tâm sâu sắc đến việc giải quyết các vấn đề hàng ngày mà người dùng gặp phải, anh ấy đã mạo hiểm lập trình và từ đó đã hướng các kỹ năng giải quyết vấn đề của mình vào việc xây dựng phần mềm cho cả web và di động. Là một kỹ sư phần mềm toàn diện với niềm đam mê chia sẻ kiến ​​thức, Oluyemi đã xuất bản một số bài báo kỹ thuật và bài đăng blog trên một số blog trên khắp thế giới. Là người hiểu biết về công nghệ, sở thích của anh ấy bao gồm thử các ngôn ngữ và khuôn khổ lập trình mới

Làm cách nào để triển khai Laravel lên Heroku?

Từ thiết bị đầu cuối, nhập lệnh này để tải xuống dự án. .
git clone --single-branch --branch template https. //github. com/CIRCLECI-GWP/laravel-heroku-app. git laravel-heroku-ứng dụng
cài đặt trình soạn thảo ứng dụng cd laravel-heroku
cp. env. thí dụ. khóa thủ công env php. phát ra

Tôi có thể lưu trữ trang web Laravel trên GitHub không?

Trang GitHub không hỗ trợ PHP và do đó không thể chạy ứng dụng Laravel . Trang GitHub là dịch vụ lưu trữ trang web tĩnh lấy các tệp HTML, CSS và JavaScript trực tiếp từ kho lưu trữ trên GitHub, tùy ý chạy các tệp thông qua quy trình xây dựng và xuất bản trang web.

Cách sử dụng dự án Laravel từ GitHub?

laravellocal. md .
Tạo một cơ sở dữ liệu có tên cục bộ là homestead utf8_General_ci
Kéo dự án Laravel/php từ nhà cung cấp git
Đổi tên. .
Mở bàn điều khiển và cd thư mục gốc dự án của bạn
Chạy cài đặt trình soạn thảo hoặc trình soạn thảo php. .
Chạy khóa thủ công php. phát ra
Chạy php artisan di chuyển
Chạy php artisan db. hạt giống để chạy máy gieo hạt, nếu có

Làm cách nào để triển khai ứng dụng Laravel?

Cách triển khai Dự án Laravel trên Máy chủ Cloudways .
Bước 1. Cài đặt ứng dụng Laravel. .
Bước 2. Triển khai Ứng dụng từ Kho lưu trữ. .
Bước 3. SSH đến máy chủ của bạn. .
Bước 4. Chạy Trình soạn thảo. .
Bước 5. Cập nhật cấu hình môi trường. .
Bước 6. Thực hiện di chuyển cơ sở dữ liệu và Seeder [TÙY CHỌN]

Chủ Đề