ビルド独自の5分でCIを反応!
おい、皆さん!このポストはStewarDXシリーズの紹介の一部です.
このチュートリアルでは、どのようにあなた自身のCIを構築することができます、超簡単に表示されます.
必要なのは StewardX ( Linuxのサーバ( SUDO ACCESSで) ドック NodeJS -もちろん反応の建物のために😊 私のサーバーのOSはDebianのフレーバー(Ubuntu)ですが、迅速な検索によって、あなた自身のディストリビューション用のパッケージのインストールコマンドを見つけることができるはずです.OKここで我々は行く!
インストールする
かなり簡単です.nginxがサーバにインストールされていない場合は、以下のコマンドを実行してください.
注:私は任意のマナーでdoと提携していない、私はちょうど彼らのチュートリアルが好きです.
完了したら、次のステップに進みます.
あなたの反応アプリを提供するnginxを設定する
さて、より詳細な説明については次のことができますthis tutorial on DigitalOcean . しかし、私はあなたがここでそれを構成することができる方法を示しています.
それを簡単かつ迅速に保つために、私はサーバーブロックをデモすることはありませんが、生産では、それらを使用する必要があります!今のところ、デフォルトのものを使います.
オープン
建物の反応アプリ
私は、使用していますdocumentation repository of StewardX デモ目的のため.これは反応アプリも😊
StewarDXのインストールと実行
ヘッドオーバーreleases page of StewardX そして、最新のバイナリをダウンロードしてください.
さて、あなたはStewarDXインスタンスを起動してStewarDXを起動する必要があります.あなたは自由な1を得ることができるか、走ることによってあなた自身を始めることができます:
データベースURLが必要です.上記のコマンドを実行した場合、
ビルドスクリプトの作成
スクリプトの新しいディレクトリを作成します
次のコマンドを実行します.
今すぐスクリプトをテストするには
ウェブフックを作る
出力を得る
このコマンドはidを出力し、最後のステップに保存します.
GithubからのWebhookの使用
今、それはギフトブにwebhookを追加する時間です.プロジェクトのリポジトリに移動し、[設定]をクリックします.
移動する
そして、おめでとう!あなた自身のCIを作成しました!
StewarDXの詳細についてはhttps://stewardx.dev .
あなたがフィードバックを残すならば、私は本当に感謝します😊 安全!
このチュートリアルでは、どのようにあなた自身のCIを構築することができます、超簡単に表示されます.
必要なのは
インストールする
かなり簡単です.nginxがサーバにインストールされていない場合は、以下のコマンドを実行してください.
$ sudo apt update
$ sudo apt install nginx
今、あなたはHTTPを介してサーバーにアクセスできるようにする必要がありますhttp://yourserverip
そして、あなたはNginxのデフォルトウェルカムページを提示されます.もしそうでなければ、あなたのポートがブロックされていないかどうか確認してください.あなたは次のことができますamazing tutorial by DigitalOcean nginxのポートを設定する.注:私は任意のマナーでdoと提携していない、私はちょうど彼らのチュートリアルが好きです.
完了したら、次のステップに進みます.
あなたの反応アプリを提供するnginxを設定する
さて、より詳細な説明については次のことができますthis tutorial on DigitalOcean . しかし、私はあなたがここでそれを構成することができる方法を示しています.
それを簡単かつ迅速に保つために、私はサーバーブロックをデモすることはありませんが、生産では、それらを使用する必要があります!今のところ、デフォルトのものを使います.
オープン
/etc/nginx/sites-enabled/default
お気に入りのエディタで.$ sudo nano /etc/nginx/sites-enabled/default
スクロールすると、この特定の行が表示されます.root /var/www/html;
OKこの行はnginxが特定のディレクトリにあるファイルを提供することを意味します.それで、我々は我々のビルトインファイルをそこで動かします.必要に応じてディレクトリを変更することができます.動いて!建物の反応アプリ
私は、使用していますdocumentation repository of StewardX デモ目的のため.これは反応アプリも😊
$ cd
$ git clone https://github.com/gokayokyay/stewardx-docs
$ cd stewardx-docs
$ npm install # or yarn
今私は私のアプリを構築することができます$ npm run build # or yarn build
あなたはbuild
フォルダが作成されました.すごい!StewarDXのインストールと実行
ヘッドオーバーreleases page of StewardX そして、最新のバイナリをダウンロードしてください.
stewardx_${version}_${os}_${arch}
. 書き込み時には、最新のバイナリを指定します.stewardx_v0.1.2_linux_x64
. ディレクトリにダウンロードしてください.新しいものを作ります.$ cd
$ mkdir stewardx
$ cd stewardx
$ wget https://github.com/gokayokyay/stewardx/releases/download/v0.1.2/stewardx_v0.1.2_linux_x64 -O stewardx
$ chmod +x stewardx
ベータ版でもないので、ソースからビルドしなければならないかもしれません.Building it from source .さて、あなたはStewarDXインスタンスを起動してStewarDXを起動する必要があります.あなたは自由な1を得ることができるか、走ることによってあなた自身を始めることができます:
docker run --rm -P -p 127.0.0.1:5432:5432 -v "$HOME/postgres-data:/var/lib/postgresql/data" -e POSTGRES_PASSWORD="1234" --name pg postgres:alpine
注:生産のためにこのコマンドを使用しないでください!パスワードは1234です😭データベースURLが必要です.上記のコマンドを実行した場合、
postgresql://postgres:1234@localhost:5432/postgres
あなたがまだ同じディレクトリにいる間、このコマンドを実行してくださいstewardx
.STEWARDX_DATABASE_URL=postgresql://postgres:1234@localhost:5432/postgres ./stewardx
あなたが出力を見るならば、それは働いていることを意味します!😊ビルドスクリプトの作成
スクリプトの新しいディレクトリを作成します
$ cd
$ mkdir ci-scripts
$ cd ci-scripts
$ touch react-ci.sh
$ chmod +x react-ci.sh
お気に入りのエディタでスクリプトを開き、次のペーストを行います.#!/bin/bash
PROJECT_DIR_NAME=stewardx-docs
PROJECT_GIT_URL=https://github.com/gokayokyay/stewardx-docs
PROJECT_PARENT=$HOME/
DEPLOY_DIR=/var/www/html/
ここで変数を定義しました....
cd $PROJECT_PARENT
if [ -d "$PROJECT_PARENT/$PROJECT_DIR_NAME" ]
then
echo "Directory ${PROJECT_DIR_NAME} exists. Skipping git clone..."
cd $PROJECT_DIR_NAME
git stash
git pull
else
echo "Directory ${PROJECT_DIR_NAME} doesn't exists, cloning it..."
git clone $PROJECT_GIT_URL
cd $PROJECT_DIR_NAME
fi
我々は、最新の変更をご利用いただけますプル.ビルド時間...
echo "Cleaning node_modules for a fresh start!"
rm -rf node_modules
echo "Installing the modules..."
npm install
ドキュメントリポジトリにテストはありませんので、テストコマンドをスキップします....
echo "Now building it, this can take a while"
npm run build
echo "Cleaning old files in serve directory"
rm -rf $DEPLOY_DIR/*
echo "Okay, now moving the artifacts into the serve directory."
mv build/* $DEPLOY_DIR
echo "Done."
保存します.次のコマンドを実行します.
$ pwd
そして、次のステップの出力を保存します.今すぐスクリプトをテストするには
./react-ci.sh
ウェブサイトhttp://yourserverip
それが働くならば、現在、それは時間ですウェブフックを作る
出力を得る
pwd
前のステップからのコマンド.StewarDXにWebhookを加えるにはどちらかを使うことができますpanel (ビルドする必要があるか、または任意のWebクライアントからリクエストを送信するだけで、curlを使用します.curl --header "Content-Type: application/json" -X POST --data '{"task_name": "React app CI", "frequency": "Hook", "task_type": "CmdTask", "task_props": {"command":"/bin/bash #pwd_output#"}}' http://localhost:3000/tasks
前のステップマインから保存された出力で、pwdchen出力してください./root/ci-scripts/react-ci.sh
(yupは根、私は危険が好きです)このコマンドはidを出力し、最後のステップに保存します.
GithubからのWebhookの使用
今、それはギフトブにwebhookを追加する時間です.プロジェクトのリポジトリに移動し、[設定]をクリックします.
移動する
Webhooks
左側パネルからのセクション.クリックAdd webhook
ページの上部にあるボタン.ページが開くと、あなたはPayload URL
with yourserversurl:STEWARDX_PORT/execute/id_of_your_task
, それで、それは何かのように見えるでしょうhttp://mydomain.com:3000/execute/c99ff533-d3c2-4ee3-9b8f-a972a9db00db
.そして、おめでとう!あなた自身のCIを作成しました!
StewarDXの詳細についてはhttps://stewardx.dev .
あなたがフィードバックを残すならば、私は本当に感謝します😊 安全!
Reference
この問題について(ビルド独自の5分でCIを反応!), 我々は、より多くの情報をここで見つけました https://dev.to/gokayokyay/build-your-own-react-ci-in-5-minutes-1aenテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol