問題タブ [continuous-delivery]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
389 参照

git - 複数の VCS 構成用に TeamCity でブランチを作成するにはどうすればよいですか?

SVN および GIT リポジトリで構成される 20 以上の VCS エントリを持つプロジェクトがあると仮定しましょう。それぞれが構成されており、接続が機能しています。

同じプロジェクトは、アーティファクトとスナップショットの依存関係を持つ多数のビルド構成で構成されています。たとえば、すべての VCS リポジトリからソースをビルドするための 1 つがあり、成功したらビルド番号を使用して各リポジトリにタグ/ラベルを作成します。ビルドによって生成されたアーティファクトに依存する別の構成では、バイナリを 1 つ以上のステージング サーバーに展開することができ、さらに別の構成では、展開されたシステムに対して自動受け入れテストを実行することができます。このプロセスは、パフォーマンスやセキュリティなどをテストするために繰り返される場合があります。

最後に、すべてのビルド構成が完了すると、各 VCS リポジトリにリリース ブランチ (たとえば、release-1.2.3) を作成するものがあります。これは通常、リリース サイクルごとに手動でトリガーされます。

ここに画像の説明を入力

現在、各リポジトリにブランチを作成するスクリプトを実行しており、必要に応じて (Git と同様に) オリジン サーバーにプッシュします。問題は、いくつかの場所でリポジトリのリストを維持する必要があることです。これは、特にセキュリティに関しては、エラーが発生しやすいことです。

本質的に、各 VCS リポジトリにブランチを作成したいことを除いて、VCS ラベラーと同様のことをしたいと思います。

カスタム プラグインを作成する必要はありませんが、VCS 情報を使用してブランチを作成し、各レポにプッシュするにはどうすればよいでしょうか?

0 投票する
1 に答える
813 参照

jenkins - CRON または REST API なしで Jenkins ビルドをスケジュールできますか?

Jenkins でビルドをスケジュールするには、「cron」パラメーターを追加する必要があり、すべてがうまく機能します。しかし、私には多くのロバ ユーザーがいますが、彼らは cron でスケジュールする方法を知りませんでした。

http://jenkins/job/jobname/build?delay=4000API自体(これは必要ありません)またはcronなしでJenkinsビルドをスケジュールする方法はありますか? 多分いくつかのJenkinsプラグイン...

0 投票する
6 に答える
30005 参照

jenkins - Ansible と Rundeck を連携させるのは良い考えですか、それともどちらかを使用するだけで十分ですか?

最近、Ansible を検討していて、プロジェクトで使用したいと考えています。また、Rundeck を使用してあらゆる種類のオペレーション作業を実行できる別のツールもあります。私はどちらのツールも使用したことがありません。これが現在の私の理解です。

類似点

  • どちらのツールもエージェントレスで、SSH を使用してリモート サーバーでコマンドを実行します

  • Rundeck の主なコンセプトはノードであり、Ansible のインベントリと同じです。重要なアイデアは、ターゲット サーバーを定義/管理/グループ化することです。

  • Rundeck は選択したノードでアドホック コマンドを実行できます。Ansible もこれを非常に便利に実行できます。
  • Rundeck はワークフローを定義し、選択したノードで実行できます。これは、Playbook を作成することで Ansible で実行できます。
  • Rundeck は Jenkins などの CI ツールと統合してデプロイ作業を行うことができます。デプロイ作業を行うために ansible-playbook を実行する Jenkins ジョブを定義することもできます。

異なる点

  • Rundeck にはジョブの概念がありますが、Ansible にはありません。

  • Rundeck には Job Scheduler があり、Ansible は Jenkins や Cron タスクなどの他のツールでのみこれを実現できます

  • Rundeck にはデフォルトで無料の Web UI がありますが、Ansible Tower の料金を支払う必要があります

Ansible と Rundeck の両方を使用して、おそらく別の方法で構成/管理/展開作業を行うことができるようです。だから私の質問は:

  • これら 2 つのツールは補完的なものですか、それとも異なる目的のために設計されたものですか? それらが補完的なツールである場合、なぜ Ansibl は Chef/Puppet/Slat などのツールとのみ比較され、Rundeck とは比較されないのですか? そうでない場合は、なぜ似たような機能がたくさんあるのでしょうか?
  • 継続的デリバリー パイプラインを構築するために、すでに CI に Jenkins を使用していますが、展開を行うために使用するのに適したツール (Ansible/Rundeck) はどれですか?
  • 一緒に使用できる場合、ベストプラクティスは何ですか?

提案や経験の共有は大歓迎です。

0 投票する
1 に答える
911 参照

email - 電子メール通知による Jenkins ジョブの失敗/合格

実稼働ビルドを作成するための社内システムがあり、それらのビルドを自動化する Jenkins ジョブを作成する必要があります。

製品ビルドの起動を自動化する方法があります。ただし、ビルドの結果はメール通知でしかわかりません。さらに、個人のドメイン資格情報、つまり、コンピューターへのログインに使用するのと同じログイン/パスを使用してのみ通知を購読できます (パスワードは毎月変更されます)。

そのため、Jenkins のジョブは、実際に終了したときではなく、ビルドが開始されるとすぐに「合格」と見なされます。

与えられた制限でJenkinsに仕事を成功させたり失敗させたりするにはどうすればよいのだろうか。

さらに、私は避けたい:

  • 個人の資格情報をどこにでもハードコーディングし、
  • 私または他の誰かのパーソナルコンピューターの電源が入っているかどうかに応じて。

アイデア?

0 投票する
1 に答える
2828 参照

artifactory - なぜアーティファクトであり、共有フォルダーではないのですか?

これが状況です。アプリケーションのインストーラー (bin 用と conf 用の .sh の 2 つのファイル) を配置するときに、社内に共有フォルダーがありますが、これは手動操作です。

このアクションをジェンキンスから自動化しようとしています。

私は引数を与える必要があります: http リクエストで jenkis からデータを送信することにより、artifactory を使用してデータを保存する場合、何がプラスになりますか? 共有フォルダーにデータを入れるアクションを自動化できます (この最後のアクションを行う可能性について詳しく教えていただければ、それは素晴らしいことです)

何か案は?

0 投票する
1 に答える
3149 参照

jenkins - ansible を使用した継続的デリバリーのためにジェンキンスを有効にする

概要

私は素晴らしいことをする ansible プレイブックを持っています。これが機能するのは、ssh をセットアップして、サーバー上で素晴らしさを広めることができるようにしたためです。ビルドが成功したときに自動的に素晴らしいものを提供するようにジェンキンをセットアップしたかったのです。

jenkins には私が持っているのと同じ ssh 機能がないため、これは失敗します。ansible と jenkins を使用してアプリの継続的デリバリーを実現するにはどうすればよいですか?

オプション: authorize-project-plugin

https://wiki.jenkins-ci.org/display/JENKINS/Authorize+Project+plugin

このプラグインをインストールして、ジョブをトリガーするとジョブが実行されるようにしました。

  • グローバルセキュリティの設定で「ビルドをトリガーしたユーザーとして実行」を有効にしました
  • プロジェクトで「ビルド認証の構成」と「ビルドをトリガーしたユーザーとして実行」を有効にしました
  • シェルコマンドを実行するビルドステップを追加whoami

コンソール出力には次のように表示されます。

ユーザーmy nameによって開始されました

私の名前で走る

ワークスペースでのビルドmy path

+ フーアミ

ジェンキンス

ジェンキンスではなく、自分のユーザー名がそこにあると思っていました。

更新: このプラグインは、システム認証ではなく、jenkins アプリケーションの承認を目的としていることを知りました。jenkins ユーザーはsudo user、スクリプト実行の一部として必要になります。

オプション: jenkins ユーザーに NOPASSWD sudo を与える

acct はシステム アカウントであり、jenkinsデフォルトでは tty ではありません。完全なユーザー アカウントにしたり、sudo アクセスを許可したりすることもできますが、それはユーザー アカウントの偽装よりも大きなセキュリティ上の問題のようです。

オプション: ドッカー

オプション: ansible タワー


  • ジェンキンス バージョン 1.617
  • プロジェクト プラグイン バージョン 1.1.0 の承認