标签: hudson

子域的端口

我已经使用 apt-get 安装了 Hudson,并且 Hudson 服务器在example.com:8080.

因为example.com我使用标准端口 *:80 和一些虚拟主机这样设置:

# /etc/apache2/sites-enabled/subdomain.example.com
<Virtualhost *:80>
  ServerName subdomain.example.com
  ...
</Virtualhost>
Run Code Online (Sandbox Code Playgroud)

以下是有关哈德逊过程的信息:

/usr/bin/daemon --name=hudson --inherit --env=HUDSON_HOME=/var/lib/hudson --output=/var/log/hudson/hudson.log --pidfile=/var/run/hudson/hudson.pid -- /usr/bin/java -jar /usr/share/hudson/hudson.war --webroot=/var/run/hudson/war
  987 ?        Sl     1:08 /usr/bin/java -jar /usr/share/hudson/hudson.war --webroot=/var/run/hudson/war
Run Code Online (Sandbox Code Playgroud)

我应该如何转发:

    http:// example.com:8080  
Run Code Online (Sandbox Code Playgroud)

到:

    http:// hudson.example.com
Run Code Online (Sandbox Code Playgroud)

ubuntu port-forwarding virtualhost hudson apache-2.2

6
推荐指数
1
解决办法
8888
查看次数

配置 Hudson EC2 插件时出错

我想在 EC2 上运行 Hudson 并使用Hudson 的 EC2 插件创建 Hudson slaves 来运行我的测试。

我安装了它,但是在尝试配置它时,出现了很多错误:

这是怎么回事?我该如何解决这个问题?

cloud-computing hudson amazon-ec2

6
推荐指数
1
解决办法
306
查看次数

通过 nginx 代理将 hudson 映射到子域

我现在正在尝试将 nginx 设置为 Hudson 的反向代理,以便它可以访问

http://build.example.com
直接地。我已经在 Tomcat 上安装了 Hudson 并验证我可以访问 Hudson
http://127.0.0.1:8080/hudson

http://build.example.com/hudson上访问可以访问 hudson 的地方非常简单。但是当我尝试设置代理以重新映射 /hudson 目录时,事情开始出错。没有加载任何 css 或图像文件。

快速查看 nginx 访问日志告诉我,对 /hudson 或 /hudson/static 中的资源发出了大量请求。这些请求没有被正确地转发(或重写)到 Tomcat。但是在挖掘了几个小时之后,我不知道如何解决这个简单的问题。

我正在使用的 nginx 设置看起来像

server {
    listen          80;
    server_name     build.example.com;
    location / {
        proxy_pass        http://127.0.0.1:8080/hudson;
        proxy_set_header  Host             $http_host;
        proxy_set_header  X-Real-IP        $remote_addr;
        proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;
    }
}
Run Code Online (Sandbox Code Playgroud)

有人可以对此有所了解吗?设置非常简单,但我似乎无法在网上的任何地方找到解决方案。

更新

我衷心感谢所有花时间回答这个问题的人。在尝试了各种解决方案之后,我认为处理这个特定问题的最直接的方法是……

A)不要管它正如@VonC 建议的那样,让它留在子目录中。这是直截了当的,我们可以确定不会有任何问题。或者...

B)将应用程序部署到 tomcat webapp 目录的 ROOT如果您想通过 tomcat 安装托管多个webapp,这可能不是最好的处理方式。但是管理员可能想要设置一个单独的 tomcat 安装来运行 Hudson/Jenkins。Tomcat 无法以不同的用户身份运行不同的托管应用程序,并且任何为 CI 设置 Hudson/Jenkins 的人都可能希望以特定用户身份运行它(例如“构建”)。在这种情况下,在 ROOT …

tomcat nginx reverse-proxy hudson jenkins

6
推荐指数
1
解决办法
6031
查看次数

sudo:不存在 tty 且未指定 askpass 程序(尝试启动 apachectl)

我们正在运行 hudson 来监控几个 shell 作业。问题是 hudson 以用户“hudson”的身份运行所有作业。

没关系,除了一些需要超级用户权限的特殊命令,比如“chown”和“apachectl”我们在我们的sudoers文件中有以下内容:(visudo)

Defaults:hudson !requiretty
%hudson ALL = NOPASSWD: /usr/sbin/apachectl, /bin/chown
Run Code Online (Sandbox Code Playgroud)

但是当我们想在我们的 shell 脚本中调用 apachectl -k graceful 时,这会给我们带来以下错误:

sudo: no tty present and no askpass program specified
Run Code Online (Sandbox Code Playgroud)

有没有人知道我们如何解决这个问题?

sudo hudson

5
推荐指数
1
解决办法
2万
查看次数

IPtables 阻止端口 8080 但不适用于本地主机

目前我有一个应用程序在 8080 上运行,由 mod_proxy 前端。

    <Location /hudson>
            Order allow,deny
            Allow from all
            ProxyPass http://localhost:8080/hudson
            ProxyPassReverse http://localhost:8080/hudson
    </Location>
Run Code Online (Sandbox Code Playgroud)

我需要阻止 TCP 8080 但不需要阻止本地主机如何使用 IPtables 来完成?

mod-proxy hudson

5
推荐指数
2
解决办法
2万
查看次数

使用 root 权限在 Hudson 中执行构建任务

我有一个执行 apt-get 的构建脚本,因此需要 root 权限。在 Hudson 中运行此脚本的最佳方法是什么?

目前,我发现唯一有效的解决方案是为用户 hudson 向 sudoers 文件添加一个条目,如下所示:

hudson  ALL=(ALL) NOPASSWD:ALL
Run Code Online (Sandbox Code Playgroud)

然而,虽然我的构建脚本现在在 Hudson 中运行没有错误,但我对这个解决方案并不完全满意。有没有更好的办法?

security sudo hudson continuous-integration

4
推荐指数
1
解决办法
1765
查看次数

Jenkins/Hudson - LDAP 组 *lookup* 不起作用

我试图让Jenkins通过我们的活动目录组对用户进行身份验证。

如果我插入用户,他们会被正确查找。如果我插入组名,则找不到它们。


编辑:通过反复试验,我发现通过组进行的身份验证确实有效,也就是说,一旦我将组添加KS-Soft到列表中,该组中的用户就可以登录但是,在输入用户名和组名的列表中,Jenkins 尝试显示一个图标,表明它是用户还是组。用户图标显示正确,但组图标始终是错误图标。

所以看起来 Jenkins 可以通过组成员身份验证用户,但它无法验证给定的组名字符串是否存在于目录中。这在技术上甚至可能吗?(也许只是图标显示搞砸了。)


Jenkins设置如下:(注意:mydomaincom用户名不同,其余为精确值)

Server  : ldap://ks-dc01.mydomain.com:389
root DN : dc=mydomain,dc=com
User Search Base : ou=KSUser
User Search Filter : userPrincipalName={0}
Group search base : ou=KSGroups
Manager DN : CN=Placeholder Martin,OU=Benutzer,OU=KSUser,DC=mydomain,DC=com
Manager Password : *****
Run Code Online (Sandbox Code Playgroud)

通过此设置,我将用户输入martin.placeholder@mydomain.com到列表中,然后 Jenkins 可以查找该用户,然后我就可以登录了。

但是,我无法让 Jenkins 解析组名称。我使用AD Explorer来确认我的组实际上在下面OU=KSGroups

CN=KS-Soft在 AD Explorer 中显示了一个组,它有一个member属性列出了我感兴趣的所有用户。(用户 martin.placeholder@mydomain.comCN=Placeholder …

active-directory ldap groups hudson jenkins

3
推荐指数
1
解决办法
2万
查看次数

哈德森关于 debian lenny

前段时间我在一台服务器上安装了 Hudson deamon(在 debian lenny 测试中运行)。一切正常,直到我执行升级。目前无法在端口 8080(这是使用的默认端口)访问 Hudson。我一直在寻找 iptables 问题,但是端口 8080 在 INPUT 和 OUTPUT 中是打开的。/etc/default/hudson 里的配置文件好像没问题,我没碰过。如果我做一个 ps aux | grep hudson, hudson deamon 正在运行。

更新 1:对我来说真正奇怪的是在 /var/log/hudson/hudson.log 中我没有收到错误:

[Winstone 2010/02/10 17:10:04] - Control thread shutdown successfully
[Winstone 2010/02/10 17:10:04] - Winstone shutdown successfully
Running from: /usr/share/hudson/hudson.war
[Winstone 2010/02/10 17:10:43] - Beginning extraction from war file
hudson home directory: /var/lib/hudson
[Winstone 2010/02/10 17:10:44] - HTTP Listener started: port=8080
[Winstone 2010/02/10 17:10:44] - AJP13 Listener started: port=8009
[Winstone 2010/02/10 17:10:44] …
Run Code Online (Sandbox Code Playgroud)

debian iptables hudson

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

在 CentOS 上安装 Hudson

按照此处的说明操作:http : //wiki.hudson-ci.org/display/HUDSON/Installing+Hudson+using+RPM+repository

在第一步失败:

sudo wget -O /etc/yum.repos.d/hudson.repo http://hudson-ci.org/redhat/hudson.repo
Connecting to hudson-ci.org|137.254.56.22|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2012-05-15 22:41:54 ERROR 404: Not Found.
Run Code Online (Sandbox Code Playgroud)

确实在浏览器中打开http://hudson-ci.org/redhat/hudson.repo会给出 404。有人可以帮忙吗?

hudson

-5
推荐指数
1
解决办法
809
查看次数