2016-03-22 4 views
1

TeamCityにJenkinsサーバーに要求を送信し、Jenkinsでいくつかの自動化テストスクリプトを実行し、Teamcityに応答を返信するビルドステップを追加する方法はありますか?TeamCityからのコマンドを送信してJenkinsで自動化テストを実行する

基本的な考え方は、Pythonスクリプトを使って作成されたいくつかの自動化テストの実行(Jenkins上で実行される)を含む展開プロセス全体を自動化することです。

これが最良の方法であるかどうかはわかりませんが、これを達成するための方法はありますか? TeamcityからJenkinsにコマンドを送信する方法についてのヒントもありますか?

+0

の実装ですパラメータ化されたビルド+「ビルドをパラメータで起動する」セクションのビルド –

答えて

1

Jenkinsでテストを開始するコメントに記載されているように、http要求を行うことができます。チームシティーに結果バッハを公開するように

、可能な解決策は、かもしれない:試験はジェンキンスで行われた後、

  • (チームシティーによって)外部からアクセスと解釈/チームシティーによって報告することができる結果を公表(どちらかsupported formatsのいずれかで)、または手動で、service messages
  • を使用して、チームシティーで実行されるスクリプトによってジェンキンスは
  • URL build triggerプラグインの設定を構築した後にテストを処理するビルド構成を作成し、のトリガーを設定します作成されたビルド構成。結果が公開されるアドレスにトリガを向けます。公開されたコンテンツが変更されるとすぐにビルドが開始され、テスト結果をTeamCityにダウンロードして処理することができます。
0

Teamcityからのコマンド送信ジェンキンス

使用CURL:

は/インストールはチームシティーエージェントにカールコピーします。 してからTCのビルド構成では、以下に似た新しいコマンドラインビルドステップ(あなたのニーズにパラメータを変更)

を作成カール--user%jenkins_user%:%jenkins_pwd%-X POST http://%jenkins_instance_withport%/job/%jenkins_jobs_name%/buildWithParameters?token=%jenkins_token% --data " Build_Number =%build.number% "

例:curl --user admin:password -X POST http://jenkinssever:2123/job/test-build-image/buildWithParameters?token=rtbuild --data" Build_Number = 1.2。0"

ここで私も使って、ジェンキンスにビルド番号を渡すことができます 『 - データ』

は、コンフィギュレーションの構築・ジェンキンスの下で以下の操作を行います:ジェンキンス構成で

Jenkinsの設定では、以下の値を更新してください:

"このプロジェクトはパラメータ化されています"

Name: Build_Number 
Default Value: 1.2.0 

Authentication Token: rtbuild 

オプションの "トリガーがリモートを構築します":行わ

Build Name: #${Build_numuber} 

を "名前を構築設定" とあなたがgo.pleaseてもいいです数

を構築設定しますあなたにもっと質問があるなら、私にあなたを知らせてください。


上記は、あなたがhttps://wiki.jenkins-ci.org/display/JENKINS/をチェックアウトし、いくつかのURLを呼び出すことにより、ジェンキンスジョブを開始することができます。初期コメント

I think I found a way while trying to solve similar use-case, did it for batch files in Teamcity build steps. for Jenkins, we have to modify accordingly. 
Also is there any specific reason for using Teamcity and Jenkins simultaneously, unless you are making use of already created Jenkins build? 

Steps: 

Get CLI based command for Jenkins: 
https://wiki.jenkins-ci.org/display/JENKINS/Jenkins+CLI 

you can achieve in two ways 

Method 1: 

As build step is in current build. 
Create a build step before your current step and trigger the Jenkins build using CLI 
Based on the return value of the Jenkins build step, next step will execute 

Method 2: 

create a new build with above CLI step and add a dependency in your primary build. 
so whenever the primary build is started, it will start the dependent CLI jenkins build. and once the dependent build is completed, will return success/failure, based on that the primary build will start. 

i haven't tested the CLI of Jenkins but as Teamcity supports the steps and dependencies structure, expecting this will work. 
will keep posted once i implement it. 
関連する問題