« | September 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | | | | |
|
公告 |
我近期在研究Maven、Turbine、EJB,如果有朋友想一起交流学习,请加我的MSN:moshco_zhu@hotmail.com!
你为什么来,你何必来,叫我怎么见你!
--《小城之春》 |
| 
|
本站首页 管理页面 写新日志 退出
[01 技术文档]使用Continuum配置定时打包发布服务 |
使用Continuum配置定时打包发布服务+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1.下载安装 到下面的网址 http://maven.apache.org/continuum/download.html 去下载一个最新版本的Continuum,我下载的是[Continuum 1.0.3,下载zip包;
将下载的continuum-1.0.3-bin.zip解压到你想安装的位置,我解压缩在D:\,这样就算安装完成。
2.基本配置
双击运行文件[D:\continuum-1.0.3\bin\plexus.bat],第一次运行会有些错误报告,启动完毕后关闭启动的服务,再一次运行启动文件,这次就会正常启动。
如果你想修改WEB访问的端口,可以打开文件[D:\continuum-1.0.3\apps\continuum\conf\application.xml],找到下面一行 -------------------------- <http-listener> <port>8080</port> </http-listener> -------------------------- 修改为: -------------------------- <http-listener> <port>8089</port> </http-listener> -------------------------- 这样WEB访问端口就被修改为8089了,你可以根据自己的实际情况修改,修改端口后需要从新启动服务。
使用浏览器打开[http://localhost:8089/continuum/],第一次登录会要求你做一些基本配置, -------------------------- ++++++++++++++++++++++++++ Admin account username:admin 新建的账户名,必须填写 Password:admin12 密码,必须填写 Re-enter-Password:admin12 确认密码,必须填写 Full Name: admin zhu 全名,必须填写 Email:continuum_moshco@163.com Email帐号,我特别去新注册的一个,建议去新注册一个,下面要用到
Directories Working Directory:D:\continuum-1.0.3\vsnapp\work 这个目录是Continuum从版本控制服务器(SVN)上捡出最新代码的地方,continuum会为每一 个项目在这个目录下新创建一个目录,用来存放源代码。 Build Output Directory:D:\continuum-1.0.3\vsnapp\out work目录中每一个项目目录对应,里面好像只是一个log文件。 Deployment Repository Directory: 可以不用填写
BaseURL Base URL:http://localhost:8089/continuum/servlet/continuum 修改一下端口就可以了。
Company Informations Name:MHFO 公司名称 Logo:F:\Dmt\My Pictures\ICO\logo32.gif Log文件的位置,可以输入http://... URL:
Guest Access Allow Guest:选择 是否接受Guest账户访问 ++++++++++++++++++++++++++ -------------------------- 其中选项根据实际情况输入,完毕后提交。
如果你想从新配置刚才输入的一些信息,或者新添加一些账户和用户组,你可以从左边的导航栏选择进入。
3.添加一个Ant项目
从左边的[Add Project]->[Ant Project],照如下填写: ---------------------------- ++++++++++++++++++++++++++++ Project Name:Helloworld_EJB3 项目名称 Version:1.0.0 版本 Scm Url:scm:svn:https://localhost/svn/MHSVN/HelloWorld 源代码版本访问方式,需要严格按照Scm规则填写 Scm Username:moshco 登录版本服务器的用户名 Scm Password:moshco123456 登录版本服务器的密码 Scm Branch/Tag: 项目的分支/标签,可以不填写 ++++++++++++++++++++++++++++ ---------------------------- 填写完毕后提交。 这里需要说明一点的是,Scm的填写,可以参考http://maven.apache.org/scm/scms-overview.html SCM的基本规则是这样的: -------------------------------- scm:<scm_provider><delimiter><provider_specific_part> -------------------------------- scm_provider:版本控制的方式,如:svn、cvs、vss、file...... delimiter:分隔符号 provider_specific_part:访问版本服务器的url SVN: scm:svn:svn://[username[:password]@]server_name[:port]/path_to_repository scm:svn:svn+ssh://[username@]server_name[:port]/path_to_repository scm:svn:file://[hostname]/path_to_repository scm:svn:http://[username[:password]@]server_name[:port]/path_to_repository scm:svn:https://[username[:password]@]server_name[:port]/path_to_repository 例如: scm:svn:file:///svn/root/module scm:svn:file://localhost/path_to_repository scm:svn:file://my_server/path_to_repository scm:svn:http://svn.apache.org/svn/root/module scm:svn:https://username@svn.apache.org/svn/root/module scm:svn:https://username:password@svn.apache.org/svn/root/module scm:svn:https://svn.apache.org/repos/asf/struts/core/trunk
CVS: scm:cvs<delimiter>local<delimiter>path_to_repository<delimiter>module_name scm:cvs<delimiter>lserver<delimiter>[username@]servername[<delimiter>port]<delimiter>path_to_repository<delimiter>module_name scm:cvs<delimiter>pserver<delimiter>[username[<delimiter>password]@]servername[<delimiter>port]<delimiter>path_to_repository<delimiter>module_name scm:cvs<delimiter>ext<delimiter>[username@]servername<delimiter>path_to_repository<delimiter>module_name scm:cvs<delimiter>sspi<delimiter>[username@]host<delimiter>path<delimiter>module 例如: scm:cvs:pserver:anoncvs@cvs.apache.org:/home/cvspublic:jakarta-cactus scm:cvs:ext:tobrien@somehost:/home/cvs/repository:modulename scm:cvs:pserver:anoncvs:@cvs.apache.org:/cvs/root:module scm:cvs|pserver|username@localhost|C:/Program Files/cvsnt/repositories|module_name scm:cvs:ext:username@cvs.apache.org:/cvs/root:module scm:cvs:local:/cvs/root:module VSS: scm:vss|path_to_repository|/module_name 例如: scm:vss|C:\Program Files\Microsoft Visual Studio\VSS|/SomeProject
4.设置项目定时服务
选择[Administration]->[Schedules]->[add] -------------------------------------- ++++++++++++++++++++++++++++++++++++++ Name:BT1 名称 Description:每天凌晨4点 描述 Cron Expression:0 0 4 * * ? Build的时间规则 Quiet Period (seconds):0 Enabled:选择 是否激活 ++++++++++++++++++++++++++++++++++++++ -------------------------------------- Build的时间规则可以参考:http://www.opensymphony.com/quartz/api/org/quartz/CronTrigger.html 填写完毕后提交。
选择[Continuum]->[ShowProjects],选择项目[Helloworld_EJB3],选择[Build Definitions],点击[Add] -------------------------------------- ++++++++++++++++++++++++++++++++++++++ Ant build filename:build.xml build的文件 Targets: 目标 Arguments: 参数 Is it default?: 是否默认 Schedule:BT1 选择规则 ++++++++++++++++++++++++++++++++++++++ -------------------------------------- 填写完毕后提交保存,这样每天凌晨4点,Continuum会自动构建项目。
5.设置发送信息
continuum有个比较有特色的地方就是它提供了发送信息的功能。
设置MSN发送信息: 打开文件[D:\continuum-1.0.3\apps\continuum\conf\application.xml],找到下面这一部分 -------------------------------------- ++++++++++++++++++++++++++++++++++++++ <!-- | The MSN notifier |--> <component> <role>org.codehaus.plexus.notification.notifier.Notifier</role> <role-hint>msn</role-hint> <implementation>org.apache.maven.continuum.notification.msn.MsnContinuumNotifier</implementation> <requirements> <requirement> <role>org.codehaus.plexus.msn.MsnClient</role> </requirement> <requirement> <role>org.apache.maven.continuum.configuration.ConfigurationService</role> </requirement> <requirement> <role>org.apache.maven.continuum.store.ContinuumStore</role> </requirement> </requirements> <configuration> <alwaysSend>false</alwaysSend> <!-- from-address/> <from-password/ --> </configuration> </component>
++++++++++++++++++++++++++++++++++++++ -------------------------------------- 修改为: -------------------------------------- ++++++++++++++++++++++++++++++++++++++ <!-- | The MSN notifier |--> <component> <role>org.codehaus.plexus.notification.notifier.Notifier</role> <role-hint>msn</role-hint> <implementation>org.apache.maven.continuum.notification.msn.MsnContinuumNotifier</implementation> <requirements> <requirement> <role>org.codehaus.plexus.msn.MsnClient</role> </requirement> <requirement> <role>org.apache.maven.continuum.configuration.ConfigurationService</role> </requirement> <requirement> <role>org.apache.maven.continuum.store.ContinuumStore</role> </requirement> </requirements> <configuration> <alwaysSend>true</alwaysSend> <from-address>continuum_moshco@hotmail.com</from-address> <from-password>moshco12</from-password> <!-- from-address/> <from-password/ --> </configuration> </component> ++++++++++++++++++++++++++++++++++++++ -------------------------------------- 打开Web页面,选择[Continuum]->[Show Projects],选择[Helloworld_EJB3],选择[Notifiers],点击[Add],进入[Notifier Selection]页面,选择[MSN],点击[Next],进入[MSN Notification]页面,按照如下填写: -------------------------------------- ++++++++++++++++++++++++++++++++++++++ MSN Login:continuum_moshco@hotmail.com 发送端的MSN MSN Password:moshco12 MSN密码 MSN Recipient address:moshco_zhu@hotmail.com 接受端的MSN Send on Success:选择 成功的是否发送 Send on Failure:选择 失败的时候发送 Send on Error:选择 错误的时候发送 Send on Warning:选择 警告的时候发送 ++++++++++++++++++++++++++++++++++++++ -------------------------------------- 修改完配置文件,需要重新启动服务!还有就是,发送端MSN和接受端MSN必须互相加到成员列表中,或者发送端加到MSN群组中。
设置Email发送信息 打开文件[D:\continuum-1.0.3\apps\continuum\conf\application.xml],找到下面这一部分 -------------------------------------- ++++++++++++++++++++++++++++++++++++++ <!-- | The mail notifier |--> <component> <role>org.codehaus.plexus.notification.notifier.Notifier</role> <role-hint>mail</role-hint> <implementation>org.apache.maven.continuum.notification.mail.MailContinuumNotifier</implementation> <requirements> <requirement> <role>org.codehaus.plexus.velocity.VelocityComponent</role> </requirement> <requirement> <role>org.apache.maven.continuum.store.ContinuumStore</role> </requirement> <requirement> <role>org.codehaus.plexus.mailsender.MailSender</role> </requirement> <requirement> <role>org.apache.maven.continuum.configuration.ConfigurationService</role> </requirement> </requirements> <configuration> <from-mailbox></from-mailbox> <from-name></from-name> <timestamp-format>EEE, d MMM yyyy HH:mm:ss Z</timestamp-format> <includeBuildResult>true</includeBuildResult> <alwaysSend>false</alwaysSend> </configuration> </component> <component> <role>org.codehaus.plexus.notification.RecipientSource</role> <implementation>org.apache.maven.continuum.notification.ContinuumRecipientSource</implementation> <configuration> <!-- Setting this propery will make Continuum send all emails to this address instead the address specified in the project configuration --> <to-override></to-override> </configuration> </component>
<component> <role>org.codehaus.plexus.mailsender.MailSender</role> <implementation>org.codehaus.plexus.mailsender.javamail.JavamailMailSender</implementation> <configuration> <smtp-host>localhost</smtp-host> <smtp-port>25</smtp-port> <sslProvider>com.sun.net.ssl.internal.ssl.Provider</sslProvider> <!-- <username>mylogin</username> <password>mypassword</password> <sslMode>true</sslMode> --> </configuration> </component> ++++++++++++++++++++++++++++++++++++++ -------------------------------------- 将它修改为: -------------------------------------- ++++++++++++++++++++++++++++++++++++++ <!-- | The mail notifier |--> <component> <role>org.codehaus.plexus.notification.notifier.Notifier</role> <role-hint>mail</role-hint> <implementation>org.apache.maven.continuum.notification.mail.MailContinuumNotifier</implementation> <requirements> <requirement> <role>org.codehaus.plexus.velocity.VelocityComponent</role> </requirement> <requirement> <role>org.apache.maven.continuum.store.ContinuumStore</role> </requirement> <requirement> <role>org.codehaus.plexus.mailsender.MailSender</role> </requirement> <requirement> <role>org.apache.maven.continuum.configuration.ConfigurationService</role> </requirement> </requirements> <configuration> <from-mailbox>continuum_moshco@163.com</from-mailbox> <from-name>continuum</from-name> <timestamp-format>EEE, d MMM yyyy HH:mm:ss Z</timestamp-format> <includeBuildResult>true</includeBuildResult> <alwaysSend>true</alwaysSend> </configuration> </component> <component> <role>org.codehaus.plexus.notification.RecipientSource</role> <implementation>org.apache.maven.continuum.notification.ContinuumRecipientSource</implementation> <configuration> <!-- Setting this propery will make Continuum send all emails to this address instead the address specified in the project configuration --> <to-override></to-override> </configuration> </component>
<component> <role>org.codehaus.plexus.mailsender.MailSender</role> <implementation>org.codehaus.plexus.mailsender.javamail.JavamailMailSender</implementation> <configuration> <smtp-host>smtp.163.com</smtp-host> <smtp-port>25</smtp-port> <sslProvider>com.sun.net.ssl.internal.ssl.Provider</sslProvider> <username>continuum_moshco@163.com</username> <password>moshco12</password> <sslMode>false</sslMode> <!-- <username>mylogin</username> <password>mypassword</password> <sslMode>true</sslMode> --> </configuration> </component> ++++++++++++++++++++++++++++++++++++++ -------------------------------------- 打开Web页面,选择[Continuum]->[Show Projects],选择[Helloworld_EJB3],选择[Notifiers],点击[Add],进入[Notifier Selection]页面,选择[Mail],点击[Next],进入[Mail Notification]页面,按照如下填写: -------------------------------------- ++++++++++++++++++++++++++++++++++++++ Mail Recipient address:moshco@sina.com 接受邮件的邮箱 Send on Success:moshco12 Send on Failure:moshco_zhu@hotmail.com Send on Error:选择 Send on Warning:选择 ++++++++++++++++++++++++++++++++++++++ -------------------------------------- 修改完配置文件,需要重新启动服务!
|
阅读全文(5347) | 回复(1) | 编辑 | 精华 |
回复:使用Continuum配置定时打包发布服务 |
harry(游客)发表评论于2008/2/19 15:03:23 | hi moshco,我也想使用Continuum,貌似配置相对CruiseControl来的简单。但是我的scm是svn+ssh,update的时候应该需要private key文件,不知道应该在哪里指明这个key文件。thanks!
|
个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除 |
» 1 »
|