Slack 애플리케이션을 만들고 Digital Ocean 애플리케이션 플랫폼에 배치하려면

게으른 사용자가 민감한 정보를 QR코드로 공유하는 것을 돕는 프로그램을 만들었고 30초 후에 자동으로 만료되었다.
이 문서에서는 응용 프로그램을 만들 때 따르는 모든 절차와 Digital Ocean에 응용 프로그램을 배치할 때 수행하는 절차를 소개합니다.

시작합시다!


나는 그것을 몇 부분으로 나누기로 결정했다.우선, 나는 어떻게 slack 프로그램을 만들고 로컬에서 테스트를 하는지 소개할 것이다.두 번째 섹션에서는 Digital Ocean 플랫폼에서 애플리케이션을 구성하는 절차에 대해 설명합니다.

Slack 응용 프로그램 만들기

  • 슬랙 계정에 로그인해서 Create Application page로 이체하세요.
  • 새 프로그램을 만들려면 누르면 프로그램에 대한 자세한 정보를 묻는 모드가 열립니다.응용 프로그램 이름을 입력하고 로컬 테스트 응용 프로그램 통합을 위한 작업 영역을 선택하십시오.이것은 개발 목적에 사용할 수 있는bot 영패를 생성할 것이다.

  • 세부 정보를 추가한 후 응용 프로그램 만들기 를 클릭합니다.
  • 이후 설정 페이지로 리디렉션됩니다. 이 페이지에서 응용 프로그램에 기능과 기능을 추가해야 합니다.알맞은 설정을 사용하여 맞춤형 프로그램을 만듭니다.
  • 다음 단계는 컴퓨터에서 로컬로 실행되는 노드 프로그램을 만드는 것입니다.Slack은 다양한 언어와 프레임워크로 Slack 프로그램을 만들 수 있는 훌륭한 강좌를 제공합니다.나는 이미 Node Js에서 이 프로그램을 작성했고, 이것article에 따라 나의 프로그램을 만들었다.
  • 우리는 서로 다른 슬랙 API를 사용하여 작업 구역과 상호작용을 할 수 있다.작업공간 전체의 리소스를 관리하기 위해 느슨한 API를 거의 사용하지 않습니다.API 및 문서에 대한 자세한 내용을 읽을 수 있습니다here.
  • 슬랙 기능과의 상호작용을 추가하려면 OAuth &Permissions 부분에서 응용 프로그램에 역할 영역을 추가할 수 있습니다.
  • 프로그램을 테스트하려면ngrok을 사용하십시오.웹에서 사용할 수 있도록 로컬에서 실행되는 서비스를 공개합니다.
  • ngrok http 8080
    
    주의 - 응용 프로그램이 실행하는 포트 번호를 사용합니다
  • slack 프로그램에서 상기 명령으로 생성된 HTTPS URL을 사용하여 로컬에서 이 기능을 테스트할 수 있습니다.
  • 응용 프로그램이 로컬에서 실행되면 디지털 해양에 배치하기 전에 통합을 해야 한다.특정한 로봇 영패와 검증 디테일을 사용하기 때문에 특정한 작업 구역을 다시 테스트하는 데 도움을 줄 것입니다.모든 사람이 사용할 수 있도록 slack authapi 동적 검색 영패와 자세한 정보를 검증해야 합니다.
  • 노드 응용 프로그램에 auth 노드를 만들고 내부에서 호출할 때 이 노드는 slack oAuth API를 호출합니다.URL 필드의 OAuth 및 권한 리디렉션 섹션에 이 URL을 추가합니다.
  • 노드 응용 프로그램에서 앞서 언급한 OAuth APIhere in the documentation를 사용합니다.
  • 이렇게 되면 당신의 응용 프로그램은 디지털 해양 플랫폼에 배치될 수 있습니다.

    디지털 해양 배치와 배치

  • 디지털 해양 계정에 로그인하고 창설을 클릭하여 아래 목록에서 Droplet을 선택하십시오.
  • droplet을 만들면 SSH 키를 추가하고 호스트 이름을 정확하게 설정해야 합니다.완료되면 Create Droplet을 클릭하여 IP 주소를 계속 검색하십시오.
  • 물방울의 IP 주소를 획득한 후 터미널에 들어가 아래 명령을 사용하여 원격 서버에 로그인
  • ssh root@IP_ADDRESS
    
  • 다음 명령을 사용하여 노드를 설치합니다.
  • curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
    
    sudo apt install nodejs
    
    node --version
    
  • 프로젝트를 서버로 복제합니다.
  • git clone your_project_url
    
  • 프로젝트를 복제한 후 프로젝트에 의존 항목을 설치합니다.또한 설치 후 프로젝트를 한 번 실행해 보십시오.
  • cd project_folder
    npm install
    npm start
    
    일단 프로젝트가 실행 중인 것을 확인하면, 응용을 중지할 수 있습니다.
  • 백그라운드에서 응용 프로그램을 실행하도록 Pm2 프로세스 관리자를 설정합니다.
  • sudo npm i pm2 -g
    pm2 start index.js
    
  • 포트를 차단하기 위해 방화벽을 설치합니다.다음 절차를 실행하여 이 점을 실현하다.
  • sudo ufw enable
    sudo ufw status
    sudo ufw allow ssh
    sudo ufw allow http
    sudo ufw allow https
    
  • 다음에 우리는 Ngnix를 설치하고 지정한 포트 번호에서 실행되는 프로그램에 직접 접근할 수 있도록 역 에이전트를 설정합니다.
  • sudo apt install nginx
    
    그런 다음 기본 파일 구성에서 서버 블록을 업데이트합니다.다음 명령을 사용하여 파일을 엽니다.
    sudo nano /etc/nginx/sites-available/default
    
    다음 코드로 이 파일을 업데이트합니다.
    server_name yourdomain.com www.yourdomain.com;
    
        location / {
            proxy_pass http://localhost:8000; #whatever port your app runs on
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection 'upgrade';
            proxy_set_header Host $host;
            proxy_cache_bypass $http_upgrade;
        }
    
    다음 명령을 사용하여 파일이 올바르게 업데이트되었는지 확인하십시오
    sudo nginx -t
    
    설정을 적용하려면ngnix를 다시 시작합니다.
    sudo service nginx restart
    
    이 애플리케이션은 포트 번호가 없는 IP에서 실행되어야 합니다.응용 프로그램이 HTTPS와 사용자가 제공한 도메인에서 실행될 수 있도록 도메인 이름과 SSL 인증서를 추가합니다.
  • Digital Ocean account으로 이동하여 관리 애플리케이션 섹션에서 네트워크 페이지를 엽니다.당신의 물방울에 @와 www 기록을 추가합니다.아래 그림과 같이 드롭다운 목록에서 매핑할 액체 방울을 선택합니다.

  • 마지막 단계는 도메인을 등록하는 것입니다.마지막 단계를 완료하려면 Digital Ocean 플랫폼의 이름 서버를 등록기의 도메인에 추가해야 합니다.

  • 완료되면 SSL 인증서를 추가할 수 있습니다.
    sudo add-apt-repository ppa:certbot/certbot
    sudo apt-get update
    sudo apt-get install python-certbot-nginx
    sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
    
    # Only valid for 90 days, test the renewal process with
    certbot renew --dry-run
    
    주의 -certbot을 설치할 때 문제가 발생하면 아래 명령을 사용할 수 있습니다.이 문제는 Ubuntu 20.04에서 발생할 수 있습니다.다음 명령을 실행하면 오류를 해결할 수 있습니다.
    curl -o- https://raw.githubusercontent.com/vinyll/certbot-install/master/install.sh | bash
    
    축하합니다!!🥳 👏
    우리는 이미 모든 절차를 완성했고, 우리의 응용 프로그램을 상위권에 올렸다.
    너는 지금 도메인 이름에서 너의 응용 프로그램에 접근할 수 있다.
    당신이 이 문장을 좋아하길 바랍니다!
    즐거운 코딩!👩🏻‍💻

    좋은 웹페이지 즐겨찾기