[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. |
