質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

899閲覧

git hubに自動でファイルをデプロイは可能?

AGLAAGLA

総合スコア54

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

1クリップ

投稿2021/12/06 13:44

前提・実現したいこと

センサから読み取ってきた値を参照するためにgit hubにあるテキストファイルのデータに最新の情報をデプロイしたいです。
私自身、git hub初心者なのですが、bash?やgit hub actionsを使用すれば可能なのでしょうか?
詳しい方いらっしゃいましたら、どのような手順になるのかも教えていただきたいと思っております。
よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

TakaiY

2021/12/06 14:03

githubというのは、基本的にはプログラムのソースコードを管理するための場所ですから、質問のように、刻々と変化するようなデータを持っていて更新するような用途には適していません。 なぜ、そのようなデータをgithubに保存したいのでしょう?
AGLAAGLA

2021/12/06 14:19 編集

ご質問ありがとうございます。 現在、herokuにapp.pyとテキストファイルが存在し、そのherokuはgit hubと連携してあります。 gitにpushすればheorkuも自動的に書き換わるようになっているのですが、そのapp.pyがテキストデータの値を参照したいため、テキストデータの値をgitに自動であげれる仕組みを考えていました。 事例としてhttps://hsmtweb.com/tool-service/github-actions.htmlのサイトを見つけたのですが、私の考えているものとは別のものなのでしょうか?
TakaiY

2021/12/06 14:22

そういうことであれば、github経由でなく、heroku側に直接データを渡すようにするのが正しいやりかたです。 heroku側にwebアプリがあるのであれば、APIを用意して、そこにデータを渡すのが普通のやりかたかと。
TakaiY

2021/12/06 14:24

ちなみに、引用されている記事も、「ソースコードを修正したら」自動的にherokuのアプリが更新されるようにするものですので、利用するデータそのものの更新とは意味が違います。
AGLAAGLA

2021/12/06 14:31

一度、APIを用意するやり方も調べてみたのですが、参考にできそうな文献が少なく、私自身独学では到底時間がかかりそうなのでgit hub actionsで自動デプロイしようと思ったのがgit hubを連携したきっかけでした。(git hub actionsなら文献が多そうだったので) APIを用意、というのとデータを渡すというのは何で送信するのでしょうか。
guest

回答2

0

ベストアンサー

センサから読み取ってきた値をファイルに保存して、pythonやbashを利用し、自動的にコミットしてgit pushするのはどうでしょうか?

投稿2021/12/06 15:44

skys215

総合スコア910

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

AGLAAGLA

2021/12/06 15:49

回答ありがとうございます。 現在様々な方法を調べており、かなり悩んでいる状態です。 センサから読み取った値をファイルにするところまでは完成しているのですが、pythonやbashを利用して自動的にコミットして、git pushというやり方がわからず困っています。手順など、ご教授いただけませんでしょうか?
skys215

2021/12/06 15:53

フォルダーの中にあるファイルのlast modified time(最後更新した時間)を監視し、更新してあればgit add, git commit, git pushを行えばいいと思います。
AGLAAGLA

2021/12/06 16:03 編集

ありがとうございます。 「フォルダーの中にあるファイルのlast modified time(最後更新した時間)を監視し」は理解できるのですが、自動的にgitadd,commit,pushというのはどうすればよろしいのでしょうか? https://blog.imind.jp/entry/2020/01/18/065638 こういうサイトを参考にすれば良いのでしょうか?
AGLAAGLA

2021/12/06 17:27 編集

なるほどそういうやり方もあるのですね。 もう一つ質問なんですが、time.pyというプログラムを作ったとして 内容がテキストファイルの中身を見て更新されたらsubprrocessを使用してgit pushする というものになると思いますが、test.py自体が常に動作している必要があると思うのですが、その実装は可能なものなのでしょうか? herokuで実装する際には、Procfileを書き換えるのでしょうか?
skys215

2021/12/07 14:15

それはsupervisorやcrontabなので可能です。
guest

0

以前の投稿からすると、heroku側はflaskで動いていっるようですね。

heroku側にデータを外から転送するには、いわゆるアップロードを使います。
公式のドキュメントだとこれ

他にも「flask アップロード」などで検索するとでてくるでしょう。

また、大抵の場合、アップロードの方法はformなどのwebインターフェースでという形になっているはずですが、curlコマンドを使えばコマンドラインカからもできるし、pythonでも作ることができますよ。

投稿2021/12/07 02:21

TakaiY

総合スコア13790

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問