群馬県でPythonを使ったAIやシステムを開発しているファントム

Navigation
群馬県でPythonを使ったAIやシステムを開発しているファントム

群馬県でPythonを使ったAIやシステムを開発しているファントムです。企業の経営課題を最適なテクノロジーで解決します。テックブログではPythonを中心にプログラミングに役立つ情報を発信しています。

投稿を検索する


  • 株式会社ファントム コーポレートサイト

カテゴリー



  • AWS 16
  • Django 45
  • FastAPI 4
  • Flask 8
  • GCP 1
  • Information 37
  • Other 32
  • PHP 2
  • Python 93
  • Pythonista 3
  • Rust 1

タグ


Alembic API argparse Beautiful Soup black Channels charset CodeCommit datetime Django REST framework Docker enumerate f-string git GitHub glob Google Colaboratory i18n IAM Internship Jupyter Lambda Matplotlib Nginx OpenCV pandas PIL Pillow PostgreSQL PyCharm PyCon pyenv PyTorch Redis Rembg ReportLab requests S3 Sentry slack tqdm uWSGI venv Vue.js youtube
このサイトはreCAPTCHAによって保護されており、Googleのプライバシーポリシーと利用規約が適用されます。

© 2022 Fantom, Inc.

Hydra WordPress Theme by EckoThemes.

Published with WordPress.

Related Articles

Filter by Category

  • Python(93)
  • Django(45)
  • Information(37)
  • Other(32)
  • AWS(16)
  • Flask(8)
  • FastAPI(4)
  • Pythonista(3)
  • PHP(2)
  • GCP(1)
  • Rust(1)

Filter by Author

  • EIGHT (14)
  • hayai017 (2)
  • press (196)
Back to Latest Articles
Other

GitHub ActionsでAmazon Lightsailに自動でデプロイする方法

GitHub ActionsでAmazon Lightsailに自動でデプロイする方法 本記事ではGitHub上のリポジトリのmainブランチに変更(コミットやマージなど)があった際に、サーバー側からgit pullを実 […]

Posted on 3rd 9月 2021 by press

Django

Dockerで起動したDjangoプロジェクトをPycharmのデバッグモードで起動

Dockerで起動したDjangoプロジェクトをPycharmのデバッグモードで起動 Dockerで起動したDjangoプロジェクトをPycharmのデバッグモードで起動して、ブレークポイントを設定して任意の行でプログラ […]

Posted on 26th 8月 2021 by press

Information

2021年の夏季休業のお知らせ

2021年の夏季休業のお知らせ 誠に勝手ながら、弊社では下記日程を夏季休業とさせていただきます。 夏季休業期間 2021年8月13日(金)~2021年8月16日(月) 期間中にいただきましたお問い合わせにつきましては、夏 […]

Posted on 29th 7月 2021 by press

Django

Docker環境にGitHubリポジトリをクローンして開発する

Docker環境にGitHubリポジトリをクローンして開発する Djangoを含んで起動させるDockerプロジェクトの例はいくつか見つかりましたが、Docker環境に別で開発しているリポジトリをクローンして開発を進める […]

Posted on 27th 7月 2021 by press

Django

pipenv shellをしてもactivateできない

pipenv shellをしてもactivateできない pipenvで作った仮想環境に出たり入ったりを繰り返していると、pipenv shellをしても以下のようにShell for UNKNOWN_VIRTUAL_E […]

Posted on 10th 7月 2021 by press

Django

WARNING: `pyenv init -` no longer sets PATH.

WARNING: `pyenv init -` no longer sets PATH. pyenvが入っているzsh環境(Mac)でターミナルの起動時に以下のエラーが出るようになりました。今回はDjangoのプロジェク […]

Posted on 6th 6月 2021 by press

Django

40分でUbuntu Nginx PostgreSQL Django Gunicornの環境構築

40分でUbuntu Nginx PostgreSQL Django Gunicornの環境構築 VPSへのログイン(新規タブ) OSの初期設定(アップデート、アップグレード) 新規ユーザーを追加 新しく追加したユーザー […]

Posted on 28th 5月 2021 by press

Other

生産効率を高める方法

生産効率を上げる方法について筆者が利用している環境を紹介する。前提として、生産効率を高める最も単純な方法はマウスを使わないことだ。したがって、マウスを使わない環境を整備することがまず求められる。次に導入する4つそれぞれの […]

Posted on 24th 5月 2021 by EIGHT

Python

OpenCVで複数の動画を連結する

OpenCVで複数の動画を連結する 複数の動画素材を結合したり、GoProで長時間撮影した時に約4GB毎に分割される動画ファイルを結合して一つの動画を書き出す方法です。 コードはGitHubリポジトリにあげています。 開 […]

Posted on 24th 5月 2021 by press

Information

MEDぐんま 2021に出展しました

MEDぐんま 2021に出展しました 2021年5月9日(日)にMEDぐんま 2021に出展しました。 開催概要 ◆MEDぐんま 2021会期: 2021年5月9日(日)会場: 群馬会館

Posted on 11th 5月 2021 by press

Information

2021年ゴールデンウィーク休業のお知らせ

2021年ゴールデンウィーク休業のお知らせ 平素は格別のお引立てを賜り、厚く御礼申し上げます。 誠に勝手ながら、弊社では下記日程をゴールデンウィーク休業とさせて頂きます。   2021年4月29日(木)~ 2021年5月 […]

Posted on 6th 4月 2021 by press

Information

SDGsぐんまビジネスプラクティスに選定されました

SDGsぐんまビジネスプラクティスに選定されました 介護現場での「人とテクノロジーの協業」が業務時間の節約や精神的なゆとりの創出につながり、さらには利用者やスタッフ間の豊かなコミュニケーションを生み出し、全ての利用者が本 […]

Posted on 5th 4月 2021 by press

Information

2021年 長期インターン募集のお知らせ

2021年 長期インターン募集のお知らせ 概要2021年度の長期インターン採用の募集を開始しました。 募集職種・インフラエンジニア・ウェブアプリケーションエンジニア・UI/UXデザイナー・グラフィックデザイナー 想定給与 […]

Posted on 1st 4月 2021 by press

Python

Pythonでファイルをアップロードする

Pythonでファイルをアップロードする 画像をPOSTして結果を返すプログラムやファイルをアップロードして機械学習の推論を試す時に、ブラウザからFormを使ってアップロードすることもできますが、Pythonでファイルの […]

Posted on 14th 3月 2021 by press

Django

django-import-exportで管理画面からCSVをインポート

django-import-exportで管理画面からCSVをインポート 情報を登録する際に一件づつ入力せずにCSVからまとめてインポートして登録が行えるので初期情報を登録する時などに便利な方法です。 コードはGitHu […]

Posted on 10th 3月 2021 by press

Django

OSError: No translation files found for default language

OSError: No translation files found for default language このエラーはDjangoで設定言語が間違ってる時に発生するエラーです。 settings.py setti […]

Posted on 16th 2月 2021 by press

Django

Dockerを使ってDjangoとPostgreSQL環境を構築(2)

前回の内容が古くなってしまったので2021年版に更新します。 Dockerを使ってシンプルなDjangoとPostgreSQLの開発環境を構築する方法の2021年版です。以下の点が前回より変わった点です。・Volumeを […]

Posted on 11th 2月 2021 by press

Python

Pythonのrandomモジュールでランダムな小数・整数を生成

Pythonのrandomモジュールでランダムな小数・整数を生成 Pythonで乱数(ランダムな小数や整数)が生成できる、randomモジュールの使い方を説明します。 開発環境 float型の乱数を生成(1) float […]

Posted on 26th 1月 2021 by press

Django

NameError: name ‘os’ is not definedが表示される

NameError: name ‘os’ is not definedが表示される Djangoの開発を始める時に最初のstartappする前に以下のエラーが出る時があります。これは初期段階でse […]

Posted on 23rd 1月 2021 by press

Python

Pythonのdatetimeで日付、時間の計算(2)

Pythonのdatetimeで日付、時間の計算(2) 前回からの続きです。 今回は、曜日を取得したり、特定の曜日の日付を取得します。後半は文字列とdatetimeの変換について説明します。 開発環境 本日の曜日を取得 […]

Posted on 19th 1月 2021 by press

View Latest Posts
Other

GitHub ActionsでAmazon Lightsailに自動でデプロイする方法


press
GitHub ActionsでAmazon Lightsailに自動でデプロイする方法
Posted on 3rd 9月 2021 by press
2024年度 インターンシップ 募集開始

GitHub ActionsでAmazon Lightsailに自動でデプロイする方法

本記事ではGitHub上のリポジトリのmainブランチに変更(コミットやマージなど)があった際に、サーバー側からgit pullを実行してmain変更を反映する方法です。この方法を用いることで自動でデプロイできる環境を構築します。

デプロイするコードはGitHubリポジトリにあげています。

サーバー側でgit cloneとpullの確認

git cloneの確認

https:/USERNAME:PASSWORD@github.com/nobnov/deplytest.gitのようにユーザー名とパスワードを指定してリポジトリをcloneします。

sudo git clone https:/XXXXX:XXXXX@github.com/nobnov/deplytest.git
リポジトリをクローン

リモートリポジトリの確認

git remote -v
リモートリポジトリの名前と場所の確認

git pullの確認

sudo git pull origin main
リポジトリをpullします

Deploy keysの設定

GitHubリポジトリのDeploy keysに公開鍵を登録します。サーバーにログインして以下のコマンドで公開鍵の中身を表示します。

cat .ssh/authorized_keys
公開鍵の中身をコピー
公開鍵の設定

鍵のタイトル(任意)と上記でコピーした内容をペーストしてAdd kyeで登録します。

Actions secretsの設定

DEPLOY_KEYの設定

以下のコマンドでLightsailからダウンロードしたSSHキーの中身をターミナルの画面上に表示します。

cat .ssh/XXXXX
秘密鍵の中身をコピー

※コピーする時は-----BEGIN RSA PRIVATE KEY-----と-----END RSA PRIVATE KEY-----も含んでください。内側の文字列だけをコピーをするとWorkflow実行中に以下のエラーが発生します。

ssh.ParsePrivateKey: ssh: no key found
ssh: handshake failed: ssh: unable to authenticate, attempted methods [none], no supported methods remain

登録する機密情報の一覧は以下の通りです。

DEPLOY_DIR/var/www/deploytes/deploytes(プロジェクトのディレクトリ)
DEPLOY_HOSTIPアドレス
DEPLOY_KEY秘密鍵の中身
DEPLOY_PORT22(実際に使用しているPort)
DEPLOY_USERubuntu(実際に使用しているユーザー名)

全ての設定(5つ)が完了すると画像のように表示されます。

リポジトリの機密情報を保存

Workflowの設定

ymlファイルの作成

set up a workflow yourselfをクリックしてWorkflowをymlファイルに以下のように変更します。ローカル環境でも編集可能ですが、今回はGitHub上で行います。

Workflowの設定
name: CI

on:
  push:
    branches:
      - main

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
          - name: Deploy
            uses: appleboy/ssh-action@master
            with:
              host: ${{ secrets.DEPLOY_HOST }}
              username: ${{ secrets.DEPLOY_USER }}
              port: ${{ secrets.DEPLOY_PORT }}
              key: ${{ secrets.DEPLOY_KEY }}
              script: |
                cd ${{ secrets.DEPLOY_DIR }}
                sudo git pull origin main

mainブランチへcommitするかプルリクエストをトリガーにWorkflowが実行して自動デプロイされます。

{{ secrets.DEPLOY_HOST }}のDEPLOY_HOSTの部分はActions secretsで登録したtitleで、secrets.XXXXXとすることで登録した機密情報を取得できます。

ymファイルをGitHub上で更新

Workflowの実行

workflowの実行と確認

上手くいくと以下のようにログが表示されます。

======CMD======
cd ***
sudo git pull origin main            

======END======
err: From https://github.com/nobnov/deplytest
err:  * branch            main       -> FETCH_HEAD
out: Already up to date.
==============================================
✅ Successfully executed commands to all host.
==============================================

人気のタグ

Alembic API argparse Beautiful Soup black Channels charset CodeCommit datetime Django REST framework Docker enumerate f-string git GitHub glob Google Colaboratory i18n IAM Internship Jupyter Lambda Matplotlib Nginx OpenCV pandas PIL Pillow PostgreSQL PyCharm PyCon pyenv PyTorch Redis Rembg ReportLab requests S3 Sentry slack tqdm uWSGI venv Vue.js youtube

ファントムYouTubeチャンネル

株式会社ファントムへのお問い合わせ

群馬県でPythonを使ったAIやソフトウェアを開発している株式会社ファントムが運営しています。




    press
    • GitHub
    • Share Article:
    • Twitter
    • Facebook
    • Pinterest
    • LinkedIn
    • Reddit
    Show Comments (0)

    Comments

    Cancel Reply

    コメントを投稿するにはログインしてください。

    Related Articles

    Other

    PyCharmで.txtファイルで発生するRequirementsTokenTypeというエラー

    PyCharmで.txtファイルで発生するRequirementsTokenTypeというエラー PyCharmで拡張子が.txtファイルを開くとエディタに以下のようなエラーが発生します。 PyCharmでは.txtはr […]

    Posted on 15th 2月 2023 by press
    Other

    リモートのファイルをローカルのデスクトップにコピー

    リモートのファイルをローカルのデスクトップにコピー リモートサーバーにSSH鍵でログインして、ファイルをローカルのマシンにコピーする方法です。今回はリモートサーバーにダンプしたsqlファイルをデスクトップにコピーします。 […]

    Posted on 5th 5月 2022 by press