スキップしてメイン コンテンツに移動

投稿

ラベル(Automation)が付いた投稿を表示しています

lftpを利用してサーバーとGithubを同期させろ!

特定サーバーはFTPしか使えない状況。 そのサーバーから毎日のデータを読み取りGithubにアップしてほかのサーバーにDeployしないといけない状況です。 ここでrsyncはFTPを介して使えないためlftpというツールを見つけました!Linuxならすぐインストールできるので気軽にインストール apt install lftp ubuntuなのでaptを使いました。もしCentOS系列ならyumでやってみてください。 ファイルは毎日増え続けるため今日と昨日の日付のファイルのみ同期させたい。 サーバーからは削除したりするけど同期元は削除されたら困る。 とのことで 日付を今日と昨日をキャッチする Today= `date '+%Y-%m-%d'` Yesterday= `date +%Y-%m-%d --date '1 day ago'` まずはgitレポジトリーに移動して同期 cd  /home/giip/syncfiles git pull origin master githubから同期したらlftpを利用してファイルを同期 lftp -c  "set ftp:list-options -a; open 'ftp://GEBEDREAM:KFn \$ tMef@93.46.41.5'; cd /; lcd /home/Projects/gebedream/files/company; mirror --use-cache --verbose --allow-chown --allow-suid --no-umask --parallel=2 --log=/var/log/lftp.log --include-glob * ${Today} * --include-glob * ${Yesterday} * " ワイルドカードを利用して対象ファイルを絞らないと全てをダウンロードしてチェックしちゃうので時間がかなりかかる。 --include-glob * ${T...

ロボットに任せた自分のお仕事はどの位減ってましたか?-RPA

giipでは UiPathとAuto Hot Keyなどを利用して Excel作業とかWebから必要な情報を収集及び編集する RPAツールから Shell Script、Wscript、VBA、Batchなど 今までの自動化用に作って利用してきた スクリプトなどが 全て登録できます。 登録した自分の作業は自動計算され 今何人前のお仕事が自動化されているのかが分かります。 ほら、 いくつかのマシンから自動化作業が 月間748時間分作業してますよ! もう5人前を 私が作った自動化でやってますね。 上司にも誰かにも 私がどの位大変にお仕事をやってるか 見せてください! https://giipasp.azurewebsites.net/

UiPath - Excelのシート名が存在した場合の処理

UiPath.Excel Activityは活用方法によってかなり強力ですが、隠れて探せない項目が多すぎて困ったりします。 公式ドキュメントもいまいちだし…。 Excelを自動化するには協力なUiPathの機能の中でSheetの判断処理を残します。 今まではシートがあったら何とかしようとしたら見つける方法が分からなく、ErrorのExceptionで判断したりしましたが、 workbook.GetSheets.Contains("<sheet name>") があったのをいまさら見つけました; 早速試してみましたが、 messageboxにworkbookとか書いてみても出てこない…。 これはExcel Application Scopeを利用しなければなりませんでした! まずExcel Application ScopeにExcelファイルを登録! Excel Application Scope Activityの属性にOutputにwbを入力して変数に入れます。 変数に入れてからMessageBoxに wb.GetSheet.Contains("Sheet1") を入力してみると成功! 「wb.」をおした時点でいっぱい出てきましたね。 ググってみても詳しく出て着なかったのでここにまず記録 giip - Free UiPath and Rpa Integrated Orchestration Service https://giipasp.azurewebsites.net

コピペができないときチェックすべきこと! :: よく迷うUiPathのコツ

UiPath( https://uipath.com )はMicrosoft社のWWFを改良した製品なのでVisual Studioより初心者向けに使いやすくなっている。 しかし、初心者がそのまま使うにはかなりのハドルがある。 理由は基本開発者向けの開発ツールを無理やり便利に作ってみたとしても開発の概念と考え方がないと結構躓くことが多い。 そのなかで私もよく迷ったりしていることの一つを整理しとく。 基本Activityはすぐコピぺができるので多数のUiPath Studioを開いて開発してたりする。 ここでコピペをしても反応ないときがよくある。 この場合はこれをチェックすること! 1.Sequenceがなく一つのActivityしかないところにはペーストできないのが多い。 例えば、ifの処理ボックスにはSequenceが最初はない。 そのボックスに一つのActivityはペーストできるのに2個目からはなぜか反応ない。 それで分からないまま新しいActivityを追加してたりしたが、 あそこにSequenceを入れたら解決ができるのだ! 2.正常にペーストできるはずのところに反応ない。 この場合はPackageが合わなくペーストが効かないケースが多い。 DESIGN>Manage Packagesをクリックしてコピー元のパッケージにインストールされているのにコピー先にインストールされてないパッケージを探す! パッケージを一々見るのが難しい!と思ったら メモ帳からファイルがあるフォルダにあるproject.jsonファイルを開いてみる! あそこにJSONの形式でインストールされたパッケージが見えるので比較しやすくなる! ちなみにコピペをすると変数の宣言が大変だと思うが、 そこでもコツがあるのだ! 変数の宣言はなるべく細かくしてSequence単位で管理できるようにする。 全てに影響がある変数はしょうがないから一番広く宣言するけど。 初心者向けの説明だと、 Variablesというところをクリックして変数を開いたらScopeという範囲が見える! 大体Sequenceボックスの名前を変えてないのでSequenceがすらりと表示されてるはずが、Sequenceボックスの名前を付けてたら見やすくなる。 あ...

UiPath設計時にMSA(Micro Software Architecture)式の切り分け方

イメージがあまりなくてつまらないと思いますが、自分の経験のコツを共有したく設けたページになります。 RPA(Robotic Process Automation)を利用して色々やってます。 大手のK様から個人の趣味までRPAの使い方は幅広いし一つだけではなくいくつかの自動化ツールを利用してRPAを進めてます。 今回はUiPathを利用して開発するときの設計の切り分けをどうすべきかとの個人の意見を書いてみます。 UiPath(https://www.uipath.com)はご存じの前提で始めます。 まず、 MSA式というのを考えてできるだけ細かく切ります。 しかし分けすぎると多くなってしまい逆に管理が困ります。 UiPathの特徴は「単純作業の自動化」から「ML(マシンランニング)」の複雑な組み合わせが楽なこと。 ということで 自分でよくやってるのをチェックします。 * メールの確認 * グループウェアのチェック * スケジュールの確認 * 毎日のサービス及びシステム点検 * スケジュールの登録 * 忘れないようにチェックすべきもの などなどいっぱいあるんですね。 これをするだけで一日が行っちゃうとかの方多いでしょうね。 ここで一つの作業をプロジェクトとし、1枚にシートに書いてみます。私は紙が好きなのでA4用紙で1プロジェクトを書いたりします。 A4用紙を使う理由の一つは1枚に収まるように設計するためにはたくさんの機能が入りきれないので他のプロジェクトから呼び出しが多くなりMSAに充実な設計ができます。 しかし、多すぎる場合には統合したりしてます。 外の開発とは異なり、 UIPは利用者が自分で修正ができないと長く使えないので ユーザーの修正領域と共有領域、専用領域をきちんと分けないといけません。 基本的なファイルの作成はこんな感じ * Main.xaml   * 最初実行するファイルですが、できるだけ内容は少なめにして置きます。   * 初期設定をファイルにConfig.json等に落としての読み込みなどを定義します。 * Config.json   * ユーザーが自分の環境に合わせて起動前修正すべきの内容を記入します。 * <Func...

LinuxサーバーからCommandでGmailを経由でメール送信

ちょっと手間がかかるけど メールサーバーを立ち上げると Relayを利用してスパムサーバーとして使われるとか 色々面倒臭いので Googleサーバーを利用することにしたいですね。 Windowsの場合にもCDO.Messageというコンポーネントを利用して直接に送るのができますが、最近のサーバーバージョンにはTempファイルを権限などの設定が微妙に手間がかかってしまい、giipのMQ(Message Queue)機能を利用してLinuxサーバーがメール送信サーバーとして使われるようにしました。 なのでまずLinuxサーバーにGmail設定。 https://qiita.com/zaburo/items/a6244d32ce5f5fe2c3d1 これもgiip Scriptでできるように…

結構詰まってたjenkinsとgitlabの自動配信設定(解決済み)

顧客からの依頼がgitlabからソースをmergeしたら自動でWebサーバーにDeployしたいということでした。 gitlabのソースが更新されたら自動でWebサーバーに配信する設定をしていましたが、 ネットで調べた通りにしてもテストがなかなかできなくて困ってました。 それで結局解決できて、 内容を公開します。 まず、gitlabからdevelopバージョンにmergeしたらどうやってjenkinsからわかってるのか?とのことです。 ここでwebhookという機能を使います。 そもそもwebhookに関して詳しくなかったので、 gitlabのwebhookを設定しようとしたんですが、 gitlabからの変更をjenkinsに送る仕組みだったのです! なので最初設定すべきなところはgitlabではなくjenkinsだったのです! ということでjenkinsに接続します。 初心者なので全てブラウザから行います。 jenkinから同期したいプロジェクトの設定に入ります。 もし設定が初めてなら次の記事をご参考ください。 https://talklowy-jp.blogspot.com/2019/01/jenkinsgitlabgiip.html ビルドトリガーの部分から Build when a change is pushed to GitLab. GitLab webhook URL: http://10.10.10.153:8080/project/jDeployDevelop のところをチェックします。 したら、入力画面がいくつが出てきます。 全てそのままにして下に「advaced」というボタンがあります。クリックして設定を拡張します。追加された入力項目の一番下にSecret Tokenというところがあり、その右下に「generate」ボタンがあります。何も入力しないで(入力できません;)「generate」ボタンを押します。 すると何かが出てきます。それをコピー 上のチェックしたところのURLとSecret Tokenの二つをコピーしたらOKです。 次はgitlabをブラウザで開きます。 自分のプロジェクトのところからsettings > integrations をクリックすると w...

[giip] 一緒にgiip RPA(サーバー運用自動化ツール)を作りませんか?

giipの日本語バージョンを新しいgitに移しました! giipを活用したスクリプトの共有などにお使い頂ければと思います。 サービスページ : http://giipweb.littleworld.net (フロントは英語だけどログインすると日本語対応しています。そしてフロントは誰でも自分なりのフロントが作れるのでご連絡ください) 英語版 : https://github.com/LowyShin/giip (giip関連scriptもあります!) 文書(Wiki) : https://github.com/LowyShin/giip-ja/wiki # 概要 世の中の全てのデバイス(サーバーとパソコン及びモバイル・IoTデバイスまで)の完全自動運用には何が必要でしょうか。 今までのDevOpsシステムは元々開発者が設計して作ったので開発者の観点でしか見れなかったです。 なので広大なシステムの設計には手動でしかできないと言っちゃうところがありました。 ここでSystem Architecture(システムアーキテクチャ)が設計したシステムならどうすべきなのかを考えました。 SFI(SONY Finance International)の金融システム運用経験とNexonの大規模オンラインゲームの運用及びハッカとの戦い、そしてLOL(League Of Legends、Riot Games社)の300Gbpsが超える莫大なトラフィックを運用した経験その他様々な規模の300サービス以上を運用した経験を活かしてシステム運用アーキテクチャを2007年作りました。 これが今までもメインに使っているgiip RPA(Robotics Process Automation)エンジンです。 10年以上を作り続けているgiipエンジンには次の哲学が含まれています。 ## KVS(Key Value Store) 全てのシステムのデータを収集するために非整形データタイプのJSONをデータベースのように使う為にKVS(Key Value Store)の概念を導入しました。 ## MSA(Micro Service Architecture) 全ての機能は追加・削除が可能にする為全ての機能を独立して作り上げてます。 一つの機能だけ...

giipサービスを活用した簡単Linuxバックアップ

Linuxバックアップはtar.gzなどを使ってディレクトリを圧縮することが多いです。 簡単に圧縮ファイルを作るのを自動化する方法をお教えします。 giipサービスの特徴はgoogle ID(gmail)だけで入会いらず、インストール要らない、機密情報を保管しないで自動化管理ができることです。 さらにたくさんのサーバーを管理しても中央で自動化管理ができるので便利です。 ほとんどの機能は無料のままで使えます。 大量のログなどに制限があるので小さい規模での管理は楽です。 AWSを使っても自社管理サーバでも全て自動化管理ができるのでAWSを使っている方でも是非お試しください。 下記のtar.gzで圧縮するスクリプトソースと登録手順があるリンクを参考してください。 http://giipwiki.littleworld.net/mspdocs/index.php?title=LinuxShellBackup Free Infrastructure information management tool  Global Infrastructure Information Platform  http://giip.littleworld.net Subscribe and publish your links as a book with friends  My Favorite Link Share  http://link.littleworld.net