Githubアクションでレンタルサーバーにデプロイさせる話.
2024.09.20
おはようございます.将軍が米エミー賞を受賞しましたね、これを機会に自分はディズニープラスを契約してウォーキングのときに将軍をみています、これは田舎だから出来る特権かと思います💁.
さてGithubアクションでレンタルサーバーにデプロイ(アップロード)させる方法を書いていきます.まず前提条件としてIDとPASSでの認証ではなくて鍵での方法です.事前に公開鍵をレンタルサーバーに登録しとく必要があります.
では最初に対象となるリポジトリのセッティングから下記の順にクリックしてください.
次、アクションシークレットに必要な値を登録します(SSH_PRIVATE_KEYやSERVER_USERNAMEなどです)
最後にアクションの設定(yml)を行えば完了です.完了ですがレンタルサーバーによっては海外IPアドレスをブロックするように設定しているレンタルサーバーがあります.なので、海外IPを解除する必要があります.GithubのIPアドレスはこちらを参照して設定ください.
https://api.github.com/meta
※ルート直下をデプロイ対象すると.gitもアップロードされ大変危険ですので対策を取るか、直下をアップロードしないようにするか等が必要なります.
name: sakura
on:
push:
branches: [ "main" ]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Set up SSH key
run: |
mkdir -p ~/.ssh
echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_rsa_sakura
chmod 600 ~/.ssh/id_rsa_sakura
- name: Deploy Files via rsync
run: |
rsync -avz -e "ssh -i ~/.ssh/id_rsa_sakura -o StrictHostKeyChecking=no" ./path ${{ secrets.SERVER_USERNAME }}@${{ secrets.SERVER_HOST }}:${{ secrets.SERVER_DEPLOY_DIR }}
これでメインにプシュしたものはレンタルサーバーにアップロード(Deploy)されるようになります.
簡略化した説明なので分からない方もいると思います.そんな方は生成AIやググると何とかなるかと思いますので諦めずにトライしてみてください.
明日へ続く.
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
actions, branches, deploy, echo, git, github, jobs, path, push, quot, run, sakura, SSH, steps, StrictHostKeyChecking, ubuntu-latest, uses, yml, デプロイ,
I mutter using laravel’s schedule.
2023.06.23
Good morning! These days, I’ve been working on migrating the parts that used the twitteroauth library to Laravel. I think it was a good decision to migrate because it made it easier to incorporate new features. I wish I had initially started with Laravel for this.
Here are some technical hints, but you should be able to find more detailed methods by searching online:
- Install twitteroauth in Laravel’s vendor directory.
- Create a job using the command
php artisan make:job YourPreferredName
(e.g., ProcessPodcast). - Register the job in the scheduler.
- Configure cron (in my case, * * * * * php /path/to/artisan schedule:run >> /dev/null 2>&1).
With this setup, it will tweet at the specified time. I used to be able to retweet, but it seems my Twitter bot has been flagged, and now I can only tweet. So I’m doing my best with just tweeting.
Concerns about Twitter: I can’t help but think that it’s only a matter of time before either Jack Dorsey leaves or Twitter gets acquired and disappears. Even with a new CEO, I don’t expect things to improve immediately, and as long as Jack Dorsey remains, I believe it will continue to be problematic. Twitter has lost some of its appeal for individual developers who can no longer enjoy developing on the platform. The various services that were created using Twitter’s API in the past were possible because Twitter was developer-friendly.
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
artisan schedule, CEO, Configure cron, created using Twitter, dev, gt, hints, I've been working, Install twitteroauth, job YourPreferredName, library to Laravel, past were possible because Twitter was developer-friendly, path, php, Platform, run, setup, that were, These days, vendor directory,
Oh My Posh[オゥマイポッシュ]というツールの導入の仕方。
2023.02.04
おはようございます、寝不足気味の中の人です。
今日はOh My Posh[オゥマイポッシュ]というツールの導入の仕方を書いていきます。これを導入することによりPowerShellのGUIが良くなります。直感的に階層などがわかり易くなったり、メモリやCPU率などやGitブランチをどれを選択しているのかなどまで、表示してくれます。
導入仕方ですが超簡単ともいかないですが・・・まぁ普通に導入出来ると思います。
①PowerShellを開き次のコマンドを打つ。
winget install JanDeDobbeleer.OhMyPosh -s winget
②PowerShellを再起動する(閉じて開く)。
③PowerShellで次のコマンドを打つ。
Get-PoshThemes
oh-my-posh get shell
New-Item -Path $PROFILE -Type File -Force
④ノートパッドが開くので下記の文字を入力しテーマ設定(保存)をする。
oh-my-posh init pwsh --config 'C:/Users\ユーザー名/AppData/Local/Programs/oh-my-posh/themes/aliens.omp.json' | Invoke-Expression
⑤PowerShellを再起動する(閉じて開く)。
⑥たぶん文字化けしている所があるので下記から公式フォントをダウンロードして設定をする。設定の仕方は割愛します。ウィンドウズフォントの設定などでググると手順がわかります。
⑦PowerShellの設定から限定値>外観>フォントフェイス、ダウンロードしてきたフォント名に合わします。
⑧PowerShellを再起動する(閉じて開く)、これで文字化け解消されます。
⑨VScodeを使用している方は設定を開きフォント名を直記入します。
これでこんな感じのビジュアルに変わると思います。
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
AppData, config, Force, Get-PoshThemes, Gitブランチ, GUI, Invoke-Expression, local, Oh My Posh, path, powershell, Programs, shell, themes, users, VScode, winget, オゥマイポッシュ, ノートパッド, フォントフェイス,
androidアプリをはじめて申請しました。リリースされるかは?
2021.07.21
高知県も梅雨明け宣言したころだと思います、そんな事を考えながら雷の音を聞きながらこの記事を書いています。
この記事が公開された時にはandroidアプリがリリースされている頃だと思います。
この記事はアンドロイドアプリ(Flutterアプリ)を作ったときに戸惑ったところなどを本人しかわからない形で箇条書きにしたものです。他人が見てもわかるようには書いていません。
尚、参考にしたサイトはこちらになります。
https://passe-de-mode.uedasoft.com/ja/tips/software/device/flutter/flutter04.htm
flutter_icons:
android: true
ios: true
image_path: "lib/assets/icon.png.webp"
flutter pub get
flutter pub run flutter_launcher_icons:main
keytool -genkey -v -keystore C:\android\jks\key.jks -storetype JKS -keyalg RSA -keysize 2048 -validity 10000 -alias key
signingConfigs {
release {
storeFile file("C:\\android\\jks\\key.jks")
storePassword "Password"
keyAlias "key"
keyPassword "Password"
}
}
buildTypes {
release {
// TODO: Add your own signing config for the release build.
// Signing with the debug keys for now, so `flutter run --release` works.
signingConfig signingConfigs.release
}
}
flutter build appbundle
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
04, Android, assets, com, device, fl, flutter, GET, htm, https, icon, icons, image, iOS, ja, lib, passe-de-mode, path, png, pub, quot, run, software, tips, true, uedasoft, アプリ, アンドロイド, こちら, ころ, サイト, とき, ところ, もの, リリース, 事, 他人, 公開, 参考, 宣言, 形, 時, 本人, 梅雨明け, 申請, 箇条書き, 記事, 雷, 音, 頃, 高知県,
FF14を自動起動させてパスワード入力を
2021.03.23
Power Automate Desktop使用してFF14を自動起動させてパスワード入力する事を試みる。パスワード入力の動作を録画して再現して実行してみると動かないので自分で直しました。当初はUI Pathを活用して試してみたけど結局、うまく行かないので凄く単純な方法で動作をさせました。因みにこの方法はFF14が開いている最中に他のアプリを開いたりすると上手く動作することが出来ないので悪しからず。
上記のような設定をします。ウェイト(待ち時間)はご自身のPCによって調整が必要です。キーの送信部分は下記のように設定ください。
これで超長いパスワードを入力することもなくワンパスワードを入力すれば良いようになりました。ワンパスを設定していない方やフリープレイの方は送信するテキストを入力して保存するだけで後は、Power Automate Desktopを起動してフローを再生(実行)することで自動的にFF14が起動してパスワードを入力してくれます。
※前手順としてID保存状態にした状態で上記を実行ください!!!
https://flow.microsoft.com/ja-jp/desktop/
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
14, Automate, Desktop, FF, path, PC, Power, UI, アプリ, ウェイト, キー, こと, これ, ご自身, テキスト, パス, パスワ, パスワード, フリー, プレイ, フロー, ワン, 上記, 下記, 事, 他, 使用, 保存, 入力, 再現, 再生, 動作, 単純, 実行, 当初, 待ち時間, 後, 必要, 方, 方法, 最中, 活用, 自分, 自動, 設定, 調整, 起動, 送信, 部分, 録画,
Electronの脆弱性でアレをtrue設定はNGですよね。
2020.11.23
Electron(エレクトロン)でrequire(りくわいあ)というものを使用するとエラーになります。Electronの昔のバージョンはこれが使用できたんだって今はこれを脆弱性対策のため、OFF(false)にしている。その設定をtrueにするとOK何だけど、これは公式では認めてない不正解の書き方だとさ。
function createWindow() {
mainWindow = new BrowserWindow({ width: 800, height: 600 , webPreferences: {
nodeIntegration: true
}});
じゃどうするれば良いのか?調べた結果、これが良いみたいです?。下記の書き方はちょっと面倒くさいけれども、こう書かなくては駄目だとさ。requireを使用しない場合はこんな感じで書かなくても良いです。
const path = require('path');
function createWindow() {
mainWindow = new BrowserWindow({ width: 800, height: 600 , webPreferences: {
nodeIntegration: false,
contextIsolation: true,
preload: path.join(__dirname, "preload.js")
}});
const { contextBridge, ipcRenderer} = require("electron");
const request = require('request');//使ってないけど?
contextBridge.exposeInMainWorld(
"hoge_hoge", {
send: (data) => {
consloe.log(data);
document.getElementById("hoge").innerHtml = "Hey!! " + data;
ipcRenderer.send("Hey!! " + data);
},
receive: (data) => {
consloe.log(data);
//ipcRenderer.on(channel, (event, ...args) => func(...args));
}
}
);
<button id="btn">Hey!!</button>
<span id="hoge"></span>
<script>
document.getElementById("btn").addEventListener("click",(e)=>{
window.hoge_hoge.send("hogeO!!");
});
</script>
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
600, 800, BrowserWindow, const, createWindow, Electron, false, function, Height, mainWindow, new, NG, nodeIntegration, off, OK, path, require, true, webPreferences, Width, アレ, エラー, エレクトロン, これ, ため, バージョン, もの, リグ, 下記, 不正解, 今, 何, 使用, 公式, 場合, 対策, 感じ, 昔, 書き方, 結果, 脆弱性, 設定, 駄目,
たった数行のプログラムでドツボにはまる。
2018.04.14
<?php
$command = "ls -m img";
exec($command,$val,$chk);
//imglist
$imglist = explode(",",implode("",$val));
if(is_array($imglist)){
foreach ($imglist as $key => $value) {
$img64[$key] = base64_encode(file_get_contents("img/".trim($value)));
$path_parts = pathinfo($value);
$path_parts['extension']=="jpeg"?"jpg":$path_parts['extension'];
?>
<div><a href="./img/<?=trim($value)?>"><?=$value?></a><br><img src="data:image/<?=$path_parts['extension']?>;base64,<?=$img64[$key]?>"></div>
<?php
}
}
$obj["imglist"] = implode("\n\n",$img64);
ls -m というコマンドをPHPのexecという関数を使用し
画像リストを取得しようとしてどつぼにハマった・・・。
この関数、exec(“ls -m”)と書くと$valの中に配列として返却されるのだが、複数の配列に別れて返却される。なので一度、implodeを使用して一度、文字列に戻す必要がある。そしてカンマ区切りで再度、文字列分離する。
これでほっと一息つくとアウトだ!
配列化した値の前後に空白部分が入っていたり改行コードが入っていたりして画像を参照することが出来ないのだ。そのため、trim関数を使用して取り除く必要がある。
コマンドを使用して画像をリスト化して参照するメリットは何かと言えば数百枚の画像を列挙するときなどに高速で参照化することが出来るのだ。因みにコマンドでファイルの検索を行うという事なので本領発揮すると思います。
是非、お試しあれ。
著者名 @taoka_toshiaki
※この記事は著者が30代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
-Command, -m, 3, 39, 64, array, as, base, chk, contents, encode, exec, explode, extension, file, foreach, GET, gt, if, img, imglist, implode, is, jpeg, jpg, key, ls, lt, parts, path, pathinfo, php, quot, trim, val, value, ドツボ, プログラム, 数行,
AccessVBAのSQL文で抽出しクエリ出力しCSVファイルで吐き出すコード。
2016.06.17
Option Compare Database
Private Sub csvconvert_Click()
Dim Path As String
Path = "C:\Users\zip\Desktop\test.csv" 'ファイルが存在すること。
DoCmd.TransferText acExportDelim, , "任意のテーブル名", Path, True
End Sub
Access、VBAのSQL文で抽出しクエリ出力しCSVファイルで吐き出すコード。
まず、フォームにボタン配置とテーブル(吐き出したいデーブル名)を用意してください。なお、SQL文を変更してselect文以外にもJOINしたり、検索を結果をクエリに出力することも可能です。
出力した結果は既存のCSVに吐き出すという処理まで記載しています。
今回、このようなコードを記載したのには訳があります。
こういうコードをやってみたいなと思っても検索したコードはエラーコードばかりでうまく処理されなかったのでそれでは意味が無いと思い。
今回の記載に至りました。
この頃思うのですが、昔の技術者の考え方は古すぎる悩んで考え覚える。なんて効率が悪いでしょうか。おそらく大手の会社ではこのようなスタンスを取っている会社は少ないと思います。いまは、教えて覚えての反復で即戦力をという考えでないと時代に置いてけぼりになりますが地方ではまだ、昔ながらの古い体質があります。業種によれば、そういう教え方がベストかも知れませんがIT業界は、もうその時代は終わっているように思えます。
2021/11/18 追記:嫌気が差して出来ないようにしたのを放置していた事を忘れてました?
2022/09/08 追記:概要は教えるべきだが後は考えるべきというか🤔、プログラム教えて理解するものじゃないというのが今の回答かも。技は教えても良い派です。この頃思うのはどこにコメントを入れるべきなのかという事が悩ましい🙄。そして昔のコードは何だこれが多い😱。今も適当だけども…。
著者名 @taoka_toshiaki
※この記事は著者が30代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
access, CSV, csv", Dim Path As String Path, DoCmd.TransferText acExportDelim, Option Compare Database Private Sub csvconvert_Click, path, quot, SQL文, True End Sub, UserszipDesktop, VBA, クエリ, クエリ出力しCSVファイル, スタンス, デーブル名, 即戦力, 反復, 嫌気, 追記,