[Jenkins] Jenkins CLI 사용
ITWeb/개발일반 2016. 6. 30. 20:05aws 를 이용하다 보니 배포를 터미널에서 해야할 일이 종종 있습니다.
그래서 기록해 봅니다.
Jenkins에서 제공하는 CLI 기능을 이용합니다.
보통 Jenkins 를 설치 하시면 admin 으로 로그인 하셔서 Jenkins 관리로 들어 갑니다.
들어 가면, 바로 Jenkins CLI 메뉴가 눈에 들어 옵니다.
[SSH Public Key 등록]
jenkins user 설정 에서 ssh key 등록을 하셔야 합니다.
[Jenkins CLI 링크]
http://localhost:8080/jenkins/cli/
[Jenkins 기본 배포]
$ java -jar jenkins-cli.jar -s http://localhost:8080/jenkins/ build ${JOB_NAME} -s -v --username ${LOGIN_ID} --password ${LOGIN_PASSWORD}
- ${JOB_NAME} 은 처음에 item 만들때 작성하신 이름입니다. (jenkins view에 나오는 목록의 이름)
[Jenkins 기본 배포 + 파라미터 설정]
$ java -jar jenkins-cli.jar -s http://localhost:8080/jenkins/ build ${JOB_NAME} -s -v -p ${PARAM_NAME}="${PARMA_VALUE}" --username ${LOGIN_ID} --password ${LOGIN_PASSWORD}
[jenkins-cli.jar 위치]
jenkins 설치한 위치에서 webapps/jenkins/WEB-INF 아래 위치해 있습니다.
링크를 클릭하면 아래와 같은 화면을 보실 수 있습니다.
[Jenkins CLI 화면]
You can access various features in Jenkins through a command-line tool. See the Wiki for more details of this feature.To get started, download jenkins-cli.jar, and run it as follows:
java -jar jenkins-cli.jar -s http://52.196.187.249:8181/jenkins/ help
Available Commands
add-job-to-view | Adds jobs to view. |
build | Builds a job, and optionally waits until its completion. |
cancel-quiet-down | Cancel the effect of the "quiet-down" command. |
clear-queue | Clears the build queue. |
connect-node | Reconnect to a node(s) |
console | Retrieves console output of a build. |
copy-job | Copies a job. |
create-credentials-by-xml | Create Credential by XML |
create-credentials-domain-by-xml | Create Credentials Domain by XML |
create-job | Creates a new job by reading stdin as a configuration XML file. |
create-node | Creates a new node by reading stdin as a XML configuration. |
create-view | Creates a new view by reading stdin as a XML configuration. |
delete-builds | Deletes build record(s). |
delete-credentials | Delete a Credential |
delete-credentials-domain | Delete a Credentials Domain |
delete-job | Deletes job(s). |
delete-node | Deletes node(s) |
delete-view | Deletes view(s). |
disable-job | Disables a job. |
disconnect-node | Disconnects from a node. |
enable-job | Enables a job. |
get-credentials-as-xml | Get a Credentials as XML (secrets redacted) |
get-credentials-domain-as-xml | Get a Credentials Domain as XML |
get-gradle | List available gradle installations |
get-job | Dumps the job definition XML to stdout. |
get-node | Dumps the node definition XML to stdout. |
get-view | Dumps the view definition XML to stdout. |
groovy | Executes the specified Groovy script. |
groovysh | Runs an interactive groovy shell. |
help | Lists all the available commands or a detailed description of single command. |
install-plugin | Installs a plugin either from a file, an URL, or from update center. |
install-tool | Performs automatic tool installation, and print its location to stdout. Can be only called from inside a build. |
keep-build | Mark the build to keep the build forever. |
list-changes | Dumps the changelog for the specified build(s). |
list-credentials | Lists the Credentials in a specific Store |
list-credentials-context-resolvers | List Credentials Context Resolvers |
list-credentials-providers | List Credentials Providers |
list-jobs | Lists all jobs in a specific view or item group. |
list-plugins | Outputs a list of installed plugins. |
login | Saves the current credential to allow future commands to run without explicit credential information. |
logout | Deletes the credential stored with the login command. |
Reads stdin and sends that out as an e-mail. | |
offline-node | Stop using a node for performing builds temporarily, until the next "online-node" command. |
online-node | Resume using a node for performing builds, to cancel out the earlier "offline-node" command. |
quiet-down | Quiet down Jenkins, in preparation for a restart. Don’t start any builds. |
reload-configuration | Discard all the loaded data in memory and reload everything from file system. Useful when you modified config files directly on disk. |
reload-job | Reload job(s) |
remove-job-from-view | Removes jobs from view. |
replay-pipeline | Replay a Pipeline build with edited script taken from standard input |
restart | Restart Jenkins. |
safe-restart | Safely restart Jenkins. |
safe-shutdown | Puts Jenkins into the quiet mode, wait for existing builds to be completed, and then shut down Jenkins. |
session-id | Outputs the session ID, which changes every time Jenkins restarts. |
set-build-description | Sets the description of a build. |
set-build-display-name | Sets the displayName of a build. |
set-build-parameter | Update/set the build parameter of the current build in progress. |
set-build-result | Sets the result of the current build. Works only if invoked from within a build. |
set-external-build-result | Set external monitor job result. |
shutdown | Immediately shuts down Jenkins server. |
update-credentials-by-xml | Update Credentials by XML |
update-credentials-domain-by-xml | Update Credentials Domain by XML |
update-job | Updates the job definition XML from stdin. The opposite of the get-job command. |
update-node | Updates the node definition XML from stdin. The opposite of the get-node command. |
update-view | Updates the view definition XML from stdin. The opposite of the get-view command. |
version | Outputs the current version. |
wait-node-offline | Wait for a node to become offline. |
wait-node-online | Wait for a node to become online. |
who-am-i | Reports your credential and permissions. |