标签: jenkins

如何通过 scp 插件从 Jenkins 访问远程主机上的 /var/lib/tomcat6/webapps

我在 Jenkins 上使用scp插件将我的项目的 WAR 传送到远程主机。

手动,我会将该 WAR 复制到该主机上的我的用户,然后自己去那里,获取 root (sudo) 并将 WAR 复制到/var/lib/tomcat6/webapps 中,Tomcat 会立即部署它。

但是,由于用户tomcat6没有可发现的密码,因此我找不到将tomcat6用作scp用户的方法,因此我无法告诉 Jenkins 如何在没有键盘交互的情况下执行此操作——使用 Jenkins 进行连续渲染部署没用。

我在 Precise 服务器上运行 Jenkins,要部署 WAR 的远程服务器也在运行 Precise。

感谢任何阅读这个问题的人,并非常感谢任何可以让我直接了解实现这一目标的聪明方法的人。

这是詹金斯的相关输出(失败):

BUILD SUCCESSFUL
Total time: 29 seconds
[SCP] Connecting to app-1.site
[SCP] uploading file: '/var/lib/tomcat6/webapps/myapp.war'
ERROR: Failed to upload files
3: Permission denied
    at com.jcraft.jsch.ChannelSftp.throwStatusError(ChannelSftp.java:2289)
    at com.jcraft.jsch.ChannelSftp._put(ChannelSftp.java:485)
    at com.jcraft.jsch.ChannelSftp.put(ChannelSftp.java:439)
    at com.jcraft.jsch.ChannelSftp.put(ChannelSftp.java:406)
    at be.certipost.hudson.plugin.SCPSite.upload(SCPSite.java:239)
    at be.certipost.hudson.plugin.SCPRepositoryPublisher.perform(SCPRepositoryPublisher.java:211)
    at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:36)
    at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:804)
    at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:776)
    at …
Run Code Online (Sandbox Code Playgroud)

tomcat jenkins jenkins-plugins

0
推荐指数
1
解决办法
1244
查看次数

使用jenkins通过capistrano 3部署项目

我正试图通过jenkins工作中的capistrano 3部署到服务器.

"cap environment deploy"完全可以从我的mac中获得我的信誉,但在jenkins下,使用部署信誉,我遇到了一个问题.

最奇怪的是前几个git命令成功,但是当capistrano进入"git remote update"时,服务器挂起时出现"未授权"错误.我通过ssh'ing到服务器并从/ var/www/repo运行'git remote update'来验证这一点.

我有密钥转发设置 - 下面是我的詹金斯工作:

eval $(ssh-agent)
ssh-add ~/.ssh/keyname.pem
cap staging deploy
Run Code Online (Sandbox Code Playgroud)

我不知道capistrano中发生了什么会导致第一个git命令成功('git ls-remote'),但"git remote update"失败.是的,密钥已在github上作为部署密钥添加到repo中,并且在deploy.rb和〜/ .ssh/config中启用了密钥转发.

下面是来自'cap staging deploy'的失败日志示例,在Jenkins框上以Jenkins用户身份运行:

 INFO [d3e19149] Running /usr/bin/env mkdir -p /tmp/project/ on server.xxxxxyyyy.com
DEBUG [d3e19149] Command: /usr/bin/env mkdir -p /tmp/project/
 INFO [d3e19149] Finished in 0.943 seconds with exit status 0 (successful).
DEBUG Uploading /tmp/project/git-ssh.sh 0.0%
 INFO Uploading /tmp/project/git-ssh.sh 100.0%
 INFO [43533553] Running /usr/bin/env chmod +x /tmp/project/git-ssh.sh on server.xxxxxyyyy.com
DEBUG [43533553] Command: /usr/bin/env chmod +x /tmp/project/git-ssh.sh …
Run Code Online (Sandbox Code Playgroud)

git deployment ssh capistrano jenkins

0
推荐指数
1
解决办法
1695
查看次数

jenkins maven build:拒绝访问maven settings.xml

构建我的maven项目时出现此错误:

[FATAL] Non-readable settings C:\MAVEN 3.2.2\conf: C:\MAVEN 3.2.2\conf (access denied) @ C:\MAVEN 3.2.2\conf

    at hudson.maven.MavenEmbedder.<init>(MavenEmbedder.java:128)
    at hudson.maven.MavenEmbedder.<init>(MavenEmbedder.java:109)
    at hudson.maven.MavenEmbedder.<init>(MavenEmbedder.java:136)
    at hudson.maven.MavenUtil.createEmbedder(MavenUtil.java:212)
    at hudson.maven.MavenModuleSetBuild$PomParser.invoke(MavenModuleSetBuild.java:1288)
    at hudson.maven.MavenModuleSetBuild$PomParser.invoke(MavenModuleSetBuild.java:1091)
    at hudson.FilePath.act(FilePath.java:920)
    at hudson.FilePath.act(FilePath.java:893)
    at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.parsePoms(MavenModuleSetBuild.java:953)
    at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.doRun(MavenModuleSetBuild.java:681)
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:535)
    at hudson.model.Run.execute(Run.java:1732)
    at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:529)
    at hudson.model.ResourceController.execute(ResourceController.java:88)
    at hudson.model.Executor.run(Executor.java:234)
Caused by: hudson.maven.MavenEmbedderException: 1 problem was encountered while building the effective settings
[FATAL] Non-readable settings C:\MAVEN 3.2.2\conf: C:\MAVEN 3.2.2\conf (access denied) @ C:\MAVEN 3.2.2\conf

    at hudson.maven.MavenEmbedder.getSettings(MavenEmbedder.java:261)
    at hudson.maven.MavenEmbedder.buildMavenExecutionRequest(MavenEmbedder.java:157)
    at hudson.maven.MavenEmbedder.<init>(MavenEmbedder.java:120)
    ... 14 more
Caused by: org.apache.maven.settings.building.SettingsBuildingException: 1 …
Run Code Online (Sandbox Code Playgroud)

maven jenkins

0
推荐指数
1
解决办法
4002
查看次数

Jenkins脚本控制台/ Scriptler中的Connector/J MySQL驱动程序

Jenkins接缝忽略来自/ etc/environment或/etc/profile.d/jdk.sh的系统CLASSPATH参数.我尝试在Scriptler中运行Groovy脚本,但是我收到此错误:

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
    at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:321
Run Code Online (Sandbox Code Playgroud)

我已经在Jenkins中安装了MySQL数据库插件(https://wiki.jenkins-ci.org/display/JENKINS/MySQL+Database+Plugin),但仍然无法通过在Jenkins控制台和Scriptler中找到的MySQL驱动程序加载:

import groovy.sql.Sql
Sql.newInstance("jdbc:mysql://HOST:3306/DB", "USER", "PASS", "com.mysql.jdbc.Driver")
Run Code Online (Sandbox Code Playgroud)

在我将Jenkis"全局属性">"环境变量"下的CLASSPATH设置为

Name CLASSPATH
Value .:/var/lib/jenkins/plugins/database-mysql/WEB-INF/lib/mysql-connector-java-5.1.21.jar
Run Code Online (Sandbox Code Playgroud)

Jenkins能够运行Jobs,但Jenkins Script Console/Scriptler仍无法找到jar文件.

mysql groovy jenkins

0
推荐指数
1
解决办法
5941
查看次数

再次启动jar文件之前,请终止Java jar进程

我在特定路径下有一个可执行的jar文件,例如/home/admin/apps。我正在通过jenkins构建jar文件,并将jar文件复制到/home/admin/apps目录。复制之后,我还有另一个运行的shell脚本(从jenkins调用)nohup java -jar myjar.jar。但是在运行jar文件之前,我想停止早期的运行过程。我怎样才能做到这一点?我想通过詹金斯来完成所有这些工作,而无需人工。

linux executable-jar jenkins

0
推荐指数
1
解决办法
2652
查看次数

使用jenkins API时,reconfig_job失败

我正在使用jenkins rest API通过作业递归,然后重新配置这一作业。除一种方法外,所有方法均有效。他是我的代码:

def get_server_instance():
    jenkins_url = 'xxxx'
    #server = Jenkins(jenkins_url, username = '', password = '')
    # Connect to instance - username and password are optional
    server = jenkins.Jenkins(jenkins_url, username = '', password = '')
    return server


def get_job_details():
    # Refer Example #1 for definition of function 'get_server_instance'
    server = get_server_instance()
    for job in server.get_jobs_list():
        if job == "GithubMigration":
            configuration = server.get_job(job).get_config().encode('utf-8')
            #server.reconfig_job(job, configuration)
            if server.has_job("GithubMigration"):
                server.reconfig_job('GithubMigration', config_xml)
Run Code Online (Sandbox Code Playgroud)

它获取我的configuration.xml,也找到了工作,但在server.reconfig_job('GithubMigration',config_xml)上失败并显示错误AttributeError:'Jenkins'对象没有属性'reconfig_job'

当显然此功能存在于jenkins rest API中并且是的时候,我正在从jenkinsapi.jenkins import Jenkins导入jenkins。

编辑1-我卸载了Jenkinsapi,只有python-jenkins模块,现在即使在说之前它也失败了

AttributeError:'module'对象没有属性'Jenkins'到行:AttributeError:'module'对象没有属性'Jenkins' …

python python-2.7 python-3.x jenkins jenkins-cli

0
推荐指数
1
解决办法
4730
查看次数

LiquiBase,Maven和Jenkins之间的关系?

我是架构迁移的新手,所以我有点迷茫:

LiquiBase:模式迁移,Maven:构建自动化,Jenkins:持续集成.我正在使用bitBucket进行源代码控制.

我可以通过命令行,Maven或Jenkins运行LiquiBase.

  1. Jenkins是否有自己的构建自动化,或者我必须使用Maven插件进行构建?如果它有自己的构建自动化,那么我可以连接Jenkins和LiquiBase而不用担心Maven.

如果Jenkins没有构建自动化2.我可以使用pom.xml中的LiquiBase Maven插件连接LiquiBase和Maven.然后使用Jenkins Maven插件或任何其他方式将其连接到Jenkins?

build-automation continuous-integration liquibase maven jenkins

0
推荐指数
1
解决办法
2475
查看次数

Jenkins:将Java 6升级到Java 8有什么风险?

在工作中,我继承了Jenkins的两个实例.一个在Java 1.5上运行遗留作业.另一个在Java 1.6上运行更新的项目.

我被要求将两个实例升级到Java 1.8.

这将涉及升级:

  • Java 1.6到1.8
  • 詹金斯从1.460到1.614
  • Glassfish从3.1.2到4.1

题:

我开始升级时应该注意什么?(例如从JDK6升级到JDK8的风险)

这些版本之间是否存在已知的兼容性错误?

java compatibility upgrade glassfish jenkins

0
推荐指数
1
解决办法
5478
查看次数

在Jenkins中执行SVN更新-作为构建步骤,将文件夹从SVN明确复制到Web根目录

我是Jenkins CI的新手,我试图通过构建步骤来在工作中获取SVN更新(myFolder)。我想明确地将某些文件复制到Web根目录,因为我无法将它们包含在解决方案中。

我需要执行的构建步骤。

  1. 建立解决方案
  2. 发布
  3. myFolder复制 到Web根目录
  4. 同步

直到发布为止都可以正常工作。尝试将myFolder复制/更新到Web根目录时出现问题。 MyFolder位于项目解决方案文件夹之外,因为我无法将其放在解决方案文件夹中。

注意:myFolder已序列化下一步需要同步的项目/对象,应按顺序复制到Web根目录以进行同步。并且此文件夹已提交给SVN。

在我的本地CMD中,以下批处理文件可以正常工作,但是当我在Jenkins中执行Execute Windows Batch Command时,它会停在

-从SVN更新源代码-正在 运行更新...

@echo off

cls
echo     -- Initiating system instance variables...
echo.    -- Setting the variables...

:: Here you need to make some changes to suit your system.
set SOURCE=C:\inetpub\wwwroot\Test\Website\App_Data\myFolder\
set SVN=C:\Program Files\TortoiseSVN\bin

:: Unless you want to modify the script, this is enough.

echo. %SOURCE%
echo. %SVN%
echo. ++ Done setting variables. …
Run Code Online (Sandbox Code Playgroud)

powershell batch-file jenkins jenkins-plugins

0
推荐指数
1
解决办法
2642
查看次数

CF push运行良好,Bluemix上的自动部署失败

我有一个Java maven项目,我使用它部署到Bluemix cf push.奇迹般有效.它有这样的表现:

    applications:
    - services:
      - Monitoring and Analytics-gm
      - somedb
      disk_quota: 1024M
      hosts:
      - someapp
      name: someapp
      path: target/someapp-0.0.2.war
      domain: mybluemix.net
      instances: 1
      memory: 512M
Run Code Online (Sandbox Code Playgroud)

但是,当我将我的存储库推送到hub.jazz.net并启动构建和部署时,部署步骤将失败.我检查了构建步骤中的工件,并创建了war文件.

错误消息是: Server error, status code: 400, error code: 170004, message: App staging failed in the buildpack compile phase

我错过了什么?

更新

成功构建脚本的最后几行:

    [INFO] Packaging webapp
    [INFO] Assembling webapp [someapp] in [/home/jenkins/workspace/8c791c21-d195-9b03-f3ab-1c2cb5a8a9b4/0d82aa76-8fb2-463b-b1d6-6ec80a763706/target/someapp-0.0.2]
    [INFO] Processing war project
    [INFO] Copying webapp resources [/home/jenkins/workspace/8c791c21-d195-9b03-f3ab-1c2cb5a8a9b4/0d82aa76-8fb2-463b-b1d6-6ec80a763706/src/main/webapp]
    [INFO] Webapp assembled in [56 msecs]
    [INFO] Building war: /home/jenkins/workspace/8c791c21-d195-9b03-f3ab-1c2cb5a8a9b4/0d82aa76-8fb2-463b-b1d6-6ec80a763706/target/someapp-0.0.2.war
    [INFO] …
Run Code Online (Sandbox Code Playgroud)

jenkins ibm-cloud

0
推荐指数
1
解决办法
958
查看次数