./run.sh -Djava.awt.headless=true
无效
Java -jar hudson.war --httpPort=18080 --ajp13Port=18009
hudson的安装使用(windows下以及Linux下)
一、windows下:
1.下载迟滚桐jdk.(java)
JDK1.6官方下载_JDK6官方下载地址:http://www.java.NET/download/jdk6/6u10/promoted /b32/binaries/jdk-6u10-rc2-bin-b32-windows-i586-p-12_sep_2008.exe
2.下载hudson
下载地址:http://download.hudson-labs.org/war/1.366/hudson.war
3.运行:将hudson.war拷贝到java的bin目录
cmd 里进入到java的bin目录
输入:java -jar hudson.war,回车即可运行hudson,链接:http://ip:8080
二、linux下
打开终端:
1.安装jdk(java)
yum install java*
2.下载hudson
下载地址:http://download.hudson-labs.org/war/1.366/hudson.war
3.运行:将hudson.war拷贝到java的目录里
打开终端,进入到java目录
输入:java -jar hudson.war,回车即可运行hudson
也可以输入: java -jar hudson.war --httpPort=8060
这样就可以修改hudson的端备银口号了;
在Linux下可以进入的/etc/rc.d目录里
在rc.local文件了添加 export HUDSON_HOME=/home/hudson
这样就可以在每次开机启动时将hudson的工作目录指定到/home/hudson目录下
当然也可以修改配置文件来实现指定环境变量HUDSON_HOME的路径;
这样做有个好处,就是hudson升级时比较方便
如果不指定hudson的默认工作目录是/root/.hudson
jenkins的默认工作目录是/root/.jenkins(jenkins是hudson的新版本)
指定后HUDSON_HOME环境变量后无论是hudson还是jenkins的工作目录都是/home/hudson了,这样只要关闭hudson服务;
输入:java -jar jenkins.war就可以顺利升级hudson了。并且以前建的项目都还在,不会影响以前的工作成果;
我看网上有介绍用JBoss来管理hudson,我感觉没必要,首先JBoss安装起来挺费劲的,而且采用JBoss后,我发现hudson不能正常的将代码发到子机器上进行编译;
直接用命令 java -jar jenkins.war启动既方便又实用,这只是我个人的感受!
###############################################################
持续集成工具Hudson在Windows平台安装配置说明
一、什么是Hudson
Hudson 是一种革命性的开放源码 CI 服务器码坦,它从以前的 CI服务器吸取了许多经验 教训。Hudson
最吸引人的特性之一是它很容易配置:很难找到更容易设置的 CI 服务器,也很难找到开箱即用特性如此丰富的CI 服务器。Hudson
容易使用的第二个原因是它具有强大的插件框架 ,所以很容易添加特性。例如,一个 Hudson 插件可以随时间的推移跟踪FindBugs
和代码覆盖。它还可以报告测试结果的趋势(来自 JUnit 或 TestNG)以及构建结果和对应的执行时间。
Hudson 运行需要Java 。如果需要使用 Hudson 附带的嵌入式容器(Winstone)之外的其他容器,那么只需使用一种
Servlet容器。对于大多数情况,Winstone 就足够了。运行Hudson有两种方式:
1.可以将Hudson部署到Tomcat下面运行;2.
可以使用命令启动hudson。步骤:首先下载hudson.war(https://hudson.dev.java.Net),然后可以在一个盘符下建立一个文件夹,如C:\hudson,然后将这个路径设置环境变量,HUDSON_HOME=C:\hudson,最后使用命令java
-jar hudson.war启动hudson。在浏览器里输入http://localhost:8080启动Hudson。
二、Hudson 配置
在主界面点New Job,在接下来的页面里Job name里输入项目名(比如Test),然后选择Build a free-style
software project,然后点OK。在接下的页面里,在Source Code
Management选择Subversion,然后输入Repository URL,选中Use update,选择Poll
SCM,在Schedule输入* * * * *表示每一分钟build一次,具体配置规则请看帮助。最后点击保存即可。
三、Hudson运行过程中可能出现java.lang.OutOfMemoryError: Java heap space错误
原因:JVM堆的设置是指java程序运行过程中JVM可以调配使用的内存空间的设置.JVM在启动的时候会自动设置Heap
size的值,其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4。可以利用JVM提供的-Xmn -Xms
-Xmx等选项可进行设置。
例如:java -jar -Xmn16m -Xms64m -Xmx128m MyApp.jar
如果Heap Size设置偏小,除了这些异常信息外,还会发现程序的响应速度变慢了。GC占用了更多的时间,而应用分配到的执行时间较少。
Heap Size 最大不要超过可用物理内存的80%,一般的要将-Xms和-Xmx选项设置为相同,而-Xmn为1/4的-Xmx值。
Heap size的 -Xms -Xmn 设置不要超出物理内存的大小。否则会提示“Error occurred during
initialization of VM Could not reserve enough space for object heap”。
解决办法:用此命令运行hudson:java -jar -Xms128m -Xmx1024m E:\software\hudson.war
其中的-Xms128m -Xmx1024m数值根据实际服务器配置确定。
在hudson主页面-》系统管理-》管理插件-》可选插件-》选择Checkstyle Plugin-》猜闹拦安装上面弯亏说的是在安装
或者你去下载插件
选择“高级”-》上传后安装也行
记得安装后要重启hudson,不知道我说的对你有穗胡帮助没!
1,打开原始图像以及模板图像,Instagram的目标效雀誉郑果图像:其中,图层0为原始图像,虚携图层1为模板图像(模板图像与psd文件一起,我都会放到包里供大家下载使用),另外的Hudson即Instagram中的效果图像。
2,选中图层1,选择“叠加”图层混合模式,即得到效顷颂果图:
然后,我们介绍C#实现:
按照PS的过程,C#代码如下:
using System
using System.Collections.Generic
using System.Linq
using System.Text
using System.Drawing
using System.Drawing.Imaging
namespace SpecialeffectDemo
{
unsafe class HudsonFilter
{
public HudsonFilter(Bitmap src,Bitmap bg_a)
{
this.srcBitmap = src
this.map = bg_a
}
private Bitmap srcBitmap = null
private Bitmap map = null
public Bitmap Apply()
{
if (srcBitmap != null)
{
Bitmap src = new Bitmap(srcBitmap)
int w = srcBitmap.Width
int h = srcBitmap.Height
BitmapData srcData = src.LockBits(new Rectangle(0, 0, w, h), ImageLockMode.ReadWrite, PixelFormat.Format32bppArgb)
BitmapData mapaData = map.LockBits(new Rectangle(0, 0, w, h), ImageLockMode.ReadWrite, PixelFormat.Format32bppArgb)
byte* p = (byte*)srcData.Scan0
byte* pa = (byte*)mapaData.Scan0
int r = 0, g = 0, b = 0
for (int j = 0j <hj++)
{
for (int i = 0i <wi++)
{
b = p[0]
g = p[1]
r = p[2]
b = SpecialEffectClass.ModeSuperpositionEffect(b, pa[0])
g = SpecialEffectClass.ModeSuperpositionEffect(g, pa[1])
r = SpecialEffectClass.ModeSuperpositionEffect(r, pa[2])
p[0] = (byte)b
p[1] = (byte)g
p[2] = (byte)r
p += 4
pa += 4
}
p += srcData.Stride - w * 4
pa += mapaData.Stride - w * 4
}
src.UnlockBits(srcData)
map.UnlockBits(mapaData)
return src
}
else
{
return null
}
}
}
}
最后便可得到效果图
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)