タグ付けされた質問 「continuous-deployment」


4
継続的インテグレーションは、継続的な配信/展開とどのように関係していますか?
これは、continuous-integrationの現在の内容からの引用です: ...統合の問題を防止または最小化するために、開発者の作業コードのコピーを共有コードベースに頻繁にマージするプロセス。 わかった。しかし、その後、継続的な配信と 継続的な展開もあり、それは私が継続的に少し迷子になるところです: どのように継続的な統合はに関連し、連続配信および/または連続展開を経由して行(複数可)に沿ってどこかにいることを想定して、integrationあなたは結局deliveringすべてが可能になるターゲット環境でdeployed。 継続的デリバリーと継続的デプロイメントの違いは何ですか? 昔、DevOpsがDevOpsと呼ばれる前に、次のような新しいDevOps用語を理解するのに役立つ用語を使用していました。 pre-prodターゲットに昇格(または降格)し、必要に応じて何らかのタイプの再生成プロセス(コンパイル、バインドなど)と組み合わせて、関連するすべてのコンポーネントを実行可能ファイルにまとめます。それは、継続的インテグレーションに似ている/近いはずなのか、そうでないのか? FTPのようなものを使用してターゲット環境に配布します(標準のコピーがギャップを埋めることができない場合)が、ターゲットでまだアクティブにしないでください。それが連続配信に似ている/近いはずなのか、そうでないのか? インストール(またはアクティベートそれは近い/類似していなければならないものだなど、)一部のターゲット環境では、バインド、停止/起動操作のようなものと組み合わせて連続展開、かどうか?

6
データベースの継続的な展開を可能にするプラクティスまたはツールは何ですか?
インフラストラクチャとコードの継続的配信または継続的展開は、データベース、特にRDBMSに対して同じアプローチを試みるのに比べて比較的簡単です。コードとインフラストラクチャは、展開が完了しても変更も進化もしません。ただし、データベースには新しいデータが追加され、スキーマが本質的に可変コンポーネントでない場合、データが作成されます。 データベースオブジェクト、つまりテーブルと列のみを追加し、それらを変更または削除しないなどのプラクティスがあることを認識しています。スキーマ。 同様に、FlywayやReady Rollなど、スキーマのバージョン間で記述される移行の記述を支援する製品があります。 現在、データの整合性が懸念される本番環境へのデータベーススキーマの継続的な展開を可能にする他のプラクティスとツールはありますか?

1
curlを使用してRESTful APIをテストする体系的な方法は?
統合テスト中に、実際にRESTful API(または一般的なHTTPインターフェイス)を使用して繰り返し使用するケースに取り組んでいることに気付きました。bash+ cURLで確認します。 それはかなり乱雑に見え始め、維持するのが難しくなります。なぜ混乱をもたらすのですか? 典型的な使用例は次のとおりです。 URLがhttp応答コードを返すことを確認してください(例:200) その場合、コンテンツタイプが必要なMIMEと一致することを確認します 返されたコンテンツが何らかのパターンに一致することを確認するか、抽象的な検証手順に合格する 私がこれまでに見つけたのは、車輪を再発明することなく実行可能なオプションを検討することです。 PyCurlを試してください-すべてのcURLオプションを完全に実装することを期待してください。プロキシだけでなく、私が必要とするかもしれない他のスイッチ Pythonの組み込みユニットテストを使用する 次に、たとえば、チェックするサービスごとに1つのユニットテストを実行できます。 import unittest, pycurl class TestService (unittest.TestCase): def test_1(self): self.assertEqual(pycurl.returncode("some_url"), 200) def test_2(self): self.assertTrue(pycurl.response("some_url").matches ("xxx") ) def test_3(self): self.assertTrue (pycurl.ContentType("some_url").equal("xxx")) if __name__ == '__main__': unittest.main() これは理にかなっていますか、またはより高度な(しかし、複雑すぎずに取り上げて統合できない)ツールがありますか?

2
連続配信の最後に手動ステップを実装する方法は?
「についての私の質問への受け入れ答えどのように継続的な統合は、連続配信/展開に関係していますか?」についても説明小さな違いの間に連続的送達と連続展開を。「本番環境にどのようにデプロイしますか。これらは(排他的な)選択可能なオプションです。」のような質問への回答に関連しているようです。 自動(マチック)。 マニュアル。 DevOpsの壁の向こう側に貧弱な「オペレーター」がいることを想像することはできません。 「質問」では、「配布」対「インストール」という参照は、そのような「手動」のものの可能な実装に近いですか?関連する質問の関連する引用は次のとおりです。 FTPのようなものを使用してターゲット環境に配布します(標準のコピーがギャップを埋めることができない場合)が、ターゲットでまだアクティブにしないでください。それが連続配信に似ている/近いはずなのか、そうでないのか? バインド、停止/開始操作などのようなものと組み合わせて、いくつかのターゲット環境にインストール(またはアクティブ化)します。それは、継続的デプロイメントに似ている/近いはずですか? 他の可能な実装は何ですか?

1
継続的な展開と厳格な変更管理ポリシーの調整
Change Advisory Board(CAB)承認プロセスなど、厳しい変更管理環境でDevOpsプラクティスを他の人がどのように設計するのか興味があります。 自動化により、より厳密で、証明可能で、繰り返し可能なプロセスを保証することにより、監査プロセスを改善できることを理解しています。しかし、そのような状況では継続的な展開は多かれ少なかれ不可能だと感じています。変更が承認されるまでに1週間以上かかることがあるため、迅速かつ頻繁に展開することができなくなります。変更要求を送信して承認を待つ以外に、これらのプロセス内で作業するにはどのような手順を取りますか?

3
米国にないiOS用のホストされたCI / CD?
TL; DR:アジア、または少なくともヨーロッパにデータセンター/ビルドボックスを持っているiOS向けのホスティングCI / CDプロバイダーをご存知ですか?(ビルドとデプロイの両方を提供するが、ビルドはMVPである場合のボーナスポイント) 裏話: 私たちはiOSとAndroidで大規模なCI / CDを実行しています。Merge-Requestブランチのテスト/検証と、テスターと利害関係者へのトランクビルドのデプロイの両方で、10以上の同時ビルドを実行しています。私たちは、満足しているSaaS /クラウドプロバイダーを使用しています。 情報源と同様に、私たちはアジアにいます。クライアントは規制の厳しい業界に属しており、規制当局はまだクラウド内のソースを処理できないと考えているため、ソースをオンプレミスに保つために懸命に闘っています。この前提を受け入れてください。彼らがそれを手放す必要がある理由を理解しています。しかし、今のところ...できないと思います。 つまり、ソースはアジアにありますが、それを構築するCI / CDプロバイダーはすべて米国にあるようです(Circle、Buddybuildなど)。太平洋を越えた帯域幅は、特にアジアの営業日にひどい。すべてのビルドが急増する前にすべてのクローンが費やす時間は、営業日のほとんど60分を超えます。 CI / CDのオンプレミスは、DockerコンテナーでのAndroidビルドでは非常に簡単です。しかし、iOSが問題です。OSXを管理してビルドボックスの艦隊を運用し続けるように人々に教えるビジネスに身を置く必要があるか、専門家にその問題を解決させる必要があります。 ノート: SEコミュニティ、私は推奨事項を求めていません!これは事実上の技術的な質問です。特定の地域で、特定の技術要件を満たす特定のサービスを利用できますか? MacStadiumがアイルランドでMacOS VMを提供できることはわかっています。ただし、これは、独自のCIプロセス全体を管理する必要があることを意味します。さらに、避けたい多くの低レベルのシステム管理タスクも必要になります。もちろん、ビルドとデプロイメントを分離することも意味します。しかし、待ち時間は許容範囲のようです。 私たちは、クラウドCI / CDプラットフォームを私たちの近くに持っている他の人々を知っています...しかしiOS / MacOSのサポートがありません。 浅いクローンは必要な帯域幅が少ないため問題が軽減されることはわかっていますが、現在のプロバイダーがまだサポートしていないことを意味する他の複雑さもあります。そして、彼らはどんな場合でも問題を完全に解決するわけではありません。 オフプレミスのGitHubミラーを使用して実験しましたが、これは問題の一部を解決しますが、規制の問題には対応していません。また、多くのWebhook、特に新しいコードのCIパイプラインにとって重要なMerge-Request Webhookでは機能しません。Webhookを監視し、APIコマンドを他のサービスプロバイダーに強制的にリレーするエージェントを作成することもできますが、それは実際にフープを飛び越えているだけでなく、維持するための実質的な新しいコードを作成しているはずです。

1
JenkinsからAWS Lambda関数をデプロイするにはどうすればよいですか?
私はジェンキンスを通じてデプロイしようとしている単純なラムダ関数を持っています- public String handleRequest(String input, Context context) { String output = ""; if (input.isEmpty()) { output = "No input provided"; } else { output = "Hello, " + input + "! Checking invocation - 1"; } return output; } 私は問題なくEclipseのAWS Lambdaプラグインを介してこれをデプロイして呼び出すことができます。 私はJenkinsのAWS Lambdaプラグインを使用しており、そのドキュメントに従っています。 私はGitリポジトリをソースとして提供しています。 アーティファクトの場所- src/main/java/ ハンドラー名- lambda.Hello(lambdaはパッケージ名、Helloはクラス名です)。lambda.Hello.handleRequest、 lambda.Hello::handleRequestおよびその他のバリエーションも使用してみました。 Jenkinsはビルドは成功したと言っていますが、AWSコンソールでテストすると、 …

1
Amazonマーケットプレイスへの提出を自動化する方法は?
AmazonのマーケットプレイスへのAMIの提出を自動化する方法を知っている人はいますか?公開AMIを取得してAWS Marketplaceに共有し、リストをスキャンして製品メタデータシートを送信できるようにしたいと考えています。 私たちの推奨環境はPythonですが、boto3ライブラリに関連するフックが見つからなかったため、代替手段を用意しています。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.