Bitbucket 파이핑을 사용하여 React 응용 프로그램을 Heroku에 배포

Bitbucket 파이핑을 사용하여 React 응용 프로그램을 Heroku에 배포


햄버거의 anAtlassian Community Event을 위해 강연을 준비할 때, 나는 Bitbucket과 Heroku가 함께 사용하는 문서와 강좌를 만났다.그래서 제 첫 편을 쓰기로 했어요.

Building a basic CI/CD pipeline for deploying a React App to Heroku using Bitbucket


입문


단계 1 - React 응용 프로그램 만들기


이 강좌에서 React 응용 프로그램을 Heroku에 배치하는 방법을 중점적으로 소개할 것입니다. 따라서 React starter 응용 프로그램만 사용할 것입니다.Heroku에서 프로그램을 실행하기 위해서, 우리는 잠시 후에 기본적인 express 서버 설정을 추가할 것입니다.
React 응용 프로그램을 만들고 실행하기 위한 필수 조건은 다음과 같습니다.
  • Node.jsnpm 설치됨
  • Visual Studio Code 설치(옵션)
  • 이제 이 기본 설정이 있으면 React 응용 프로그램을 만들 수 있습니다.
    npx create-react-app name-of-your-app
    
    당신의 개발 환경에 따라 커피 한 잔을 준비하면 다음 2-5분은 그다지 재미있지 않습니다. 모든 항목의 의존 항목이 어떻게 다운로드되고 묶여 있는지 보는 것을 좋아하지 않으면.
    돌아오면 터미널에 다음 줄을 입력하여 프로그램을 시작합니다
    cd name-of-your-app
    npm start
    
    이제 URLhttp://localhost:3000을 열어 브라우저에서 응용 프로그램을 볼 수 있습니다.

    2단계 - Bitbucket 저장소 만들기



    현재 우리는 로컬 기계에 프로그램을 설치하고 실행했습니다. git 저장소를 만들어야 합니다.그래서 우리는 방향을 바꾸었다https://bitbucket.org.만약 당신이 아직 계좌가 없다면, 무료로 하나를 얻을 수 있습니다 (지금은 매우 중요합니다)!
    새 저장소를 만들 때 최소한 이름을 지정하고 접근 단계를private로 설정해야 합니다.이후 대부분의 설정을 변경할 수 있습니다.

    잘했어!아마도 첫 번째-git 저장소를 만들었을 것입니다.메뉴를 훑어볼 때가 됐어. 이제 왼손에서 볼 수 있어.

    Bitbucket에 대한 자세한 내용은 official documentation 를 참조하십시오.

    3단계 - Heroku 응용 프로그램 만들기



    우리는 지금 곧 우리의 응용 프로그램을 배치할 것이다.https://heroku.com - 계좌가 없으면 다시 계좌를 만드세요(무료!).
    대시보드에서 새로 만들기를 클릭한 다음 새 응용 프로그램 만들기를 선택합니다.대화 상자에서
  • 응용 프로그램 이름을 설정합니다. 이 이름은 전 세계에서 유일하기 때문에 다른 사람들이 테스트 123이나 데모 앱을 선택했을 수도 있습니다. 창의적이어야 합니다!
  • 어플리케이션 실행 영역 선택

  • 응용 프로그램은 이미 만들어졌지만, 코드와git 메모리 라이브러리로 돌아가기 전에, 응용 프로그램이 우리가 사용하고 싶은 것을 알려야 합니다 Buildpack.
  • 응용 프로그램의 설정으로 이동
  • Buildpacks에서 Add buildback 을 클릭하고 선택**heroku/nodejs**

  • 나중에 응용 프로그램을 배치하기 위해서는 API 키가 필요합니다.
  • 프로필에서 이동Account Settings
  • API 키 섹션에서 Reveal
  • 을 클릭합니다.
  • 향후 구성용 보호 열쇠
  • Bitbucket 파이핑 배포 사용


    지금 재미있는 부분이 왔는데... 사실 너한테는 많이 배웠으니까 그럴 필요 없어.

    1단계 - express Server 설정


    Visual Studio 코드로 이동하여 서버라는 새 폴더를 저장소의 루트 디렉터리에 추가합니다.이 폴더에 서버라는 파일을 만듭니다.js 및 터미널에서 다음 명령을 실행하여 express를 설치합니다.
    npm install express --save
    
    서버 내에 있습니다.js 파일은 다음 코드 행을 복사하여 붙여넣습니다.
    const path = require('path');
    const express = require('express');
    const app = express();
    const publicPath = path.join(__dirname, '..', 'build');
    
    const port = process.env.PORT || 3000;
    
    app.use(express.static(publicPath));
    
    app.get('*', (req, res) => {
        res.sendFile(path.join(publicPath, 'index.html'));
    });
    
    app.listen(port, () => {
        console.log('Hello World I run on PORT ' + port);
    });
    

    너의 소포 안에 있다.json 파일은 프로그램을 시작하는 스크립트 행을 다음과 같이 변경합니다.
    "start": "node server/server.js",
    

    2단계 - 모든 내용을git 저장소에 업로드


    터미널 창을 열고 React 응용 프로그램의 루트 디렉터리에 있는지 확인하고 다음 줄을 입력하십시오.
    git init
    git add .
    git commit -m "initial commit"
    git remote add origin [https://[email protected]/username/name-of-your-repository.git](https://[email protected]/username/name-of-your-repository.git)
    git push -u origin master
    
    브라우저 페이지를 새로 고칠 때git 저장소에 제출한 프로그램의 모든 파일과 폴더를 볼 수 있습니다.

    3단계 - Bitbucket 파이핑 설정 및 구성


    우리의 코드가 우리의 저장소에 있는 이상, 우리는 우리의 저장소를 위해 파이프를 설정해야 한다.
  • 저장소 설정으로 이동
  • 파이핑 섹션에서 설정
  • 을 클릭합니다.
  • 파이핑 활성화
  • 설정 바로 위에서 저장소 변수로 이동
  • HEROKU API_KEY라는 변수를 추가하고 키를 추가합니다
  • HEROKU APP_name이라는 변수를 추가하고 APPname을 값으로 지정합니다
  • 이제 우리는 마침내 파이프 설정을 만들 수 있게 되었다.

    우리의 예에서, 우리는 원한다. (사실이 아니라, 작가가 원한다.)다음 규칙과 절차를 사용하여 파이프를 구성하려면
  • 우리는 아직 지점이 없기 때문에 누군가가 주요 지점에 어떤 내용을 제출할 때마다 파이프를 운행하기를 희망한다
  • 먼저 어플리케이션을 테스트하고 싶습니다
  • heroku pipline 플러그인
  • 을 위한 Zip 파일을 만들어야 합니다

  • 우리는 최종적으로 우리의 저장소를 Heroku로 보내기를 희망한다

    저자 주: 네, 저는 git를 사용하여 메모리 라이브러리를 Heroku로 보낼 수 있습니다. 그러나 이것은 제가 이 글을 쓰는 목적이 아닙니다!


  • bitbucket 파이프.yml 파일은 저장소의 모든 구축 설정을 포함합니다.이 문서는 확실히 많은 일을 할 수 있기 때문에 깊이 파고들고 싶다면 official documentation 를 보십시오.다음은 YAML 파일의 기본 정보입니다.
    파이핑: 모든 파이핑 정의를 포함합니다.
    기본값: 다음 중 하나를 충족하지 않은 상태에서 밀어넣을 때마다 실행하는 단계를 포함합니다.
    단계: 각 단계마다 저장소의 클론으로 새 Docker 컨테이너를 시작한 다음 **스크립트 **섹션의 컨텐트를 실행합니다.
    스크립트: 순서대로 실행되는 명령 목록입니다.
    파이프: 파이프는 추가 구성 요소나 함수와 같습니다. 예를 들어 메모리 라이브러리를 Heroku에 업로드하는 것과 같은 입력과 작업이 필요합니다.
    우리 마지막 비트박스 파이프.yml 파일은 다음과 같습니다.
    image: node:10.15.3
    
    

    pipelines:
    branches:
    master:
    - step:
    name: Test App
    caches:
    - node
    script:
    - rm -rf package-lock.json
    - rm -rf node_modules
    - npm install
    - npm run test
    - step:
    name: Create artifact
    script:
    - git archive --format=tar.gz master -o application.tar.gz
    artifacts:
    - application.tar.gz
    - step:
    name: Deploy to heroku
    deployment: production
    caches:
    - node
    script:
    - pipe: atlassian/heroku-deploy:1.1.4
    variables:
    HEROKU_API_KEY: $HEROKU_API_KEY
    HEROKU_APP_NAME: $HEROKU_APP_NAME
    ZIP_FILE: "application.tar.gz"
    WAIT: 'true'

    끝내다


    네가 그것을 좋아하길 바라고, 더욱 그것이 너를 도울 수 있기를 바란다.알려주세요!:)

    좋은 웹페이지 즐겨찾기