実習の先生Jenkins
いよいよ6月終了の実習生活期間の勉強を終えました.
そのほか、Truffle、IPFS、Swam、Sonarqubeなどいろいろなプラットフォームを習ったことがありますが、内容が少ないので...これからこれらの技術が発展すれば、位置づけられるはずだ.
その後、ビットコイン構造およびその間に行われる卒業プロジェクトで使用される超レジャー構造2.2を宣伝する可能性がある.
これは最後の内容Jenkinsへの宣伝ですまずCI/CDとは何かを理解してみましょう.
対応する位置はNodeこれはjsベースのプロジェクトを展開するために実際に用いられる方法と考察を考慮すべきである.
1.CI/CD
CIとは?(Continuous Integration)
これは、開発者向けの自動化プロセスの1つであり、アプリケーションの変更時に自動的に構築およびテストされ、Github共有ライブラリに統合される継続的な統合を意味します.
2.CIツール
多くの開発者は、プログラムを開発する際に、バージョンの競合を防ぐために、共有領域のリポジトリに頻繁に作業をアップロードし、継続的な統合を実現します.
CIツールが登場する前に、通常は一定時間ごとに構築が実行されます.
主にこれらの行動があってこそCIと呼ぶことができる.コードリポジトリ 自動化バージョン 自動化テスト 一致コミット規則 アクションコミット クイックバージョン ステージ環境 Nightly構築環境 オープンCI結果 自動配置 CDとは?(Continuous Delivery or Continuous Deploy)
これは、ソフトウェアがいつでも確実に発売されることを保証するためです.継続的な導入、アプリケーションの変更により、共有リポジトリからユーザーが利用可能な環境に自動的に配布され、ユーザーのフィードバックが迅速に反映されます.
ソフトウェアの迅速かつ定期的な構築、テスト、リリース、およびビジネス・アプリケーションへの増分更新の適用により、導入変更のコスト、時間、リスクが削減されます.
短期間のソフトウェア配布とプロセス自動化.
2. Jenkins
ジェンキンスは、サブバージョン、gitなどのバージョン管理システムと組み合わせて使用し、コミットの検出時に自動化テストを含む構築を自動的に開始します.
メリット プロジェクト標準コンパイル環境におけるコンパイルエラー検出 自動化テスト を実行静的コード解析が符号化仕様 に適合するかどうかを確認する.コンフィギュレーションツールを使用して、ソース位置の変更によるパフォーマンスの変化を監視します. 共同テスト環境導入 500以上のプラグイン 無料利用 カスタムオプション 大量プラグイン 多様なアプリケーション事例と豊富なレポート リモートアクセスAPIは を提供する
Docker + Jenkins Workflow ソースGithub提出 JenkinsでDockerイメージ を構築で自動的に生成されたDockerイメージを使用して、テストサーバ上で をテストします.テストが完了したら、イメージ本番サーバに配備します.
ngrok:Secure Tunnels to localhostファイアウォール外接ローカルトンネルプログラム(ローカルテスト用)
追加 Github plugin:JenkinsとGithub統合 グローバルSnake Notifier Plugin:作業通知の設定 発行OverSSH:sshを使用して構築ファイル を送信組み込みビルドステータスプラグイン:Githubリポジトリにビルドステータスバーを作成する
-Managed Scripts: Node.スクリプトをインストールしてjsベースのサーバを配置します. 2.設定
1.Jenkinsホームページの設定 Jenkins管理>グローバルセキュリティの構成 Security Realm
Jenkins独自のユーザーデータベースを確認します.ユーザーのサブスクリプションは、サブスクリプションが必要な場合にのみ許可されます.
Authorization
Matrix-based securityを選択して、ユーザーとグループに付与するスーパータスクを選択します.(現在はユーザーの追加後に指定されています)
CSRF保護設定チェックを解放する必要があります.外部からJob をトリガすることができる.
Jenkins管理>システム設定 Githubタブ
Github生成のPerson Access Tokensの登録
タグをコピーしてManage hooksを確認する
Credentials Add > Jenkins
Kind: Secret text, Secret: Personal access token, ID: Github ID
Publish Over SSH
sshを使用してリモートサーバに配備します.
配備のためには、Jenkins上のプロジェクトコードをscpを使用してNAVER Cloudサーバにコピーする必要があります. NAVER Cloudサーバにおいてもssh鍵が生成される. Jenkins(Docker)では、NAVER Cloudサーバをホストとし、NAVER Cloudサーバ上でその公開鍵を許可する鍵で を登録する. JenkinsサーバにNAVER Cloudサーバを登録するのは既知ホスト である. Jenkinsによって生成された鍵のうち、NAVER Cloudサーバによって生成された認証鍵に公開鍵(id rsa.pub)が入力される.Jenkinsサーバ秘密鍵パス
SSHサーバに配備するSSHサーバ(現在はDocker内部でジェンキンスを使用しているため、内部ネットワークIP)
構成 (配置パスが設定されていない場合は、ここで配置)
Slack
Snak AppにJenkinsをインストールすると、Token Jenkins>システム設定>SnakeにToken を登録します.
2.Githubホームページを設定します.
Githubアカウントトークンの設定
アカウント設定>開発者設定>個人アクセストークン>Generate new token>repo、admin:repo hookチェック後に作成
Github Hookの使用(プッシュ時自動構築) GitHub pluginは手動モードと自動モードを提供し、JenkinsがGitHubのhookを受信できるようにした. 手動モード:ユーザーがGit Repositoryに直接登録と使用を設定する. オートモード:ユーザーのGitHub Outhトークンを使用してJenkinsがHooks&サービスを自動的に登録します.
Poll SCM使用時-X
3.プロジェクトの作成
プロジェクト作成後にリポジトリに接続するか(SSHを使用)、プロジェクト構成を行います.
Githubホームページ
Github専用Repository Settings:SSHキー設定
Jenkins
[ソース管理]タブで、Github Crementures-プライベートキーをIDとして保存します.(GithubリポジトリにPublick Keyが必要です.)この場合、リポジトリアドレスはsshアドレスとなります.
誘発タブの構築
GITSCMポーリングのためにGithub hookトリガを選択します.(Webhookを使用する場合)
Poll SCM:Gitが見たブランチがコミットなどの変化を検出した場合、自動的に構築後に配置されます.
15分ごとに構築タスクを実行:H/15**
構築間隔は、すべての時間の30分前に10分:H(0-29)/10**
毎週9時から16時まで(週末を除く)2時間ごとに構築を実行:H 9-16/2**1-5
12月を除き、毎月1日と15日に1回の構築を実行します.HH 1、151-11*
Build:Execute管理スクリプトの使用:現在のスクリプト-APIの再起動 ファイル管理(Jenkins設定>管理ファイル>新規構成の追加)
そのほか、Truffle、IPFS、Swam、Sonarqubeなどいろいろなプラットフォームを習ったことがありますが、内容が少ないので...これからこれらの技術が発展すれば、位置づけられるはずだ.
その後、ビットコイン構造およびその間に行われる卒業プロジェクトで使用される超レジャー構造2.2を宣伝する可能性がある.
これは最後の内容Jenkinsへの宣伝ですまずCI/CDとは何かを理解してみましょう.
対応する位置はNodeこれはjsベースのプロジェクトを展開するために実際に用いられる方法と考察を考慮すべきである.
1.CI/CD
CIとは?(Continuous Integration)
これは、開発者向けの自動化プロセスの1つであり、アプリケーションの変更時に自動的に構築およびテストされ、Github共有ライブラリに統合される継続的な統合を意味します.
2.CIツール
多くの開発者は、プログラムを開発する際に、バージョンの競合を防ぐために、共有領域のリポジトリに頻繁に作業をアップロードし、継続的な統合を実現します.
CIツールが登場する前に、通常は一定時間ごとに構築が実行されます.
主にこれらの行動があってこそCIと呼ぶことができる.
これは、ソフトウェアがいつでも確実に発売されることを保証するためです.継続的な導入、アプリケーションの変更により、共有リポジトリからユーザーが利用可能な環境に自動的に配布され、ユーザーのフィードバックが迅速に反映されます.
ソフトウェアの迅速かつ定期的な構築、テスト、リリース、およびビジネス・アプリケーションへの増分更新の適用により、導入変更のコスト、時間、リスクが削減されます.
短期間のソフトウェア配布とプロセス自動化.
2. Jenkins
ジェンキンスは、サブバージョン、gitなどのバージョン管理システムと組み合わせて使用し、コミットの検出時に自動化テストを含む構築を自動的に開始します.
メリット
Docker + Jenkins Workflow
ngrok:Secure Tunnels to localhostファイアウォール外接ローカルトンネルプログラム(ローカルテスト用)
ngrok http 3000 -- 127.0.0.1:3000
1.インストールdocker pull jenkins/jenkins:lts (일반 jenkins 이미지는 plugin 설치 안되는 에러)
docker run -d -p 8080:8080 -v /home/deploy/jenkins:/var/jenkins_home --name jenkins -u root jenkins/jenkins:lts (-v 옵션 host 디렉토리:container 디렉토리 연결)
(stop 상태에서는) docker start jenkins
(터미널 접속 시) docker exec -it jenkins /bin/bash
ジェンキンスサーバ8080を実行すると、推奨されるPluginインストールオプションとしてインストールされる.追加
-Managed Scripts: Node.スクリプトをインストールしてjsベースのサーバを配置します.
1.Jenkinsホームページの設定
Jenkins独自のユーザーデータベースを確認します.ユーザーのサブスクリプションは、サブスクリプションが必要な場合にのみ許可されます.
Matrix-based securityを選択して、ユーザーとグループに付与するスーパータスクを選択します.(現在はユーザーの追加後に指定されています)
Github生成のPerson Access Tokensの登録
タグをコピーしてManage hooksを確認する
Credentials Add > Jenkins
Kind: Secret text, Secret: Personal access token, ID: Github ID
sshを使用してリモートサーバに配備します.
配備のためには、Jenkins上のプロジェクトコードをscpを使用してNAVER Cloudサーバにコピーする必要があります.
ssh-keygen -t rsa
ssh-keyscan -H (NAVER CLOUD 서버)ip >> ~/.ssh/known_hosts
vi ~/.ssh/authorized_keys
chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa
chmod 644 ~/.ssh/id_rsa.pub
chmod 644 ~/.ssh/authorized_keys
chmod 644 ~/.ssh/known_hosts
鍵SSHサーバに配備するSSHサーバ(現在はDocker内部でジェンキンスを使用しているため、内部ネットワークIP)
構成
Snak AppにJenkinsをインストールすると、Token Jenkins>システム設定>SnakeにToken
2.Githubホームページを設定します.
Githubアカウントトークンの設定
アカウント設定>開発者設定>個人アクセストークン>Generate new token>repo、admin:repo hookチェック後に作成
Github Hookの使用(プッシュ時自動構築)
Poll SCM使用時-X
プロジェクト作成後にリポジトリに接続するか(SSHを使用)、プロジェクト構成を行います.
Githubホームページ
Github専用Repository Settings:SSHキー設定
ssh-keygen
cat /.ssh/id_rsa
Option)Webhook設定:Repo>Settings>Webhook>http://JENKIN'S SERVER/github-webhook/
url、アクティブ.Jenkins
[ソース管理]タブで、Github Crementures-プライベートキーをIDとして保存します.(GithubリポジトリにPublick Keyが必要です.)この場合、リポジトリアドレスはsshアドレスとなります.
誘発タブの構築
GITSCMポーリングのためにGithub hookトリガを選択します.(Webhookを使用する場合)
Poll SCM:Gitが見たブランチがコミットなどの変化を検出した場合、自動的に構築後に配置されます.
15分ごとに構築タスクを実行:H/15**
構築間隔は、すべての時間の30分前に10分:H(0-29)/10**
毎週9時から16時まで(週末を除く)2時間ごとに構築を実行:H 9-16/2**1-5
12月を除き、毎月1日と15日に1回の構築を実行します.HH 1、151-11*
Build:Execute管理スクリプトの使用:現在のスクリプト-APIの再起動
Reference
この問題について(実習の先生Jenkins), 我々は、より多くの情報をここで見つけました https://velog.io/@beoms96/Intern-Study-10-Jenkinsテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol