提交 d7815877 编写于 作者: K Kohsuke Kawaguchi

importing the installer build script

上级 a6cb95df
<pkg-contents spec="1.12"><f n="jenkins.war" o="daemon" g="daemon" p="33188" pt="/Users/irichter/Documents/develop/JenkinsInstaller/jenkins.war" m="false" t="file"><mod>group</mod><mod>owner</mod></f></pkg-contents>
\ No newline at end of file
<pkgref spec="1.12" uuid="A08D3475-52F7-41CE-BB1B-9066D36C881B"><config><identifier>de.richter.jenkinsCiServer.jenkins.pkg</identifier><version>1.1405</version><description></description><post-install type="none"/><requireAuthorization/><installFrom relative="true" mod="true">binary/jenkins.war</installFrom><installTo mod="true">/Applications/Jenkins</installTo><flags><followSymbolicLinks/><discardResourceForks/><mod>discardResourceForks</mod></flags><packageStore type="internal"></packageStore><mod>installFrom.isRelativeType</mod><mod>installTo</mod><mod>postInstall</mod><mod>extraFiles</mod><mod>installFrom.path</mod><mod>identifier</mod><mod>parent</mod><mod>version</mod><mod>installTo.path</mod><mod>requireAuthorization</mod><mod>scripts.postinstall.isRelativeType</mod></config><scripts><postinstall relative="true" mod="true">scripts/postinstall</postinstall><scripts-dir mod="true">/Users/irichter/Desktop/JenkinsInstaller/scripts</scripts-dir><scripts-element/></scripts><contents><file-list>01jenkins-contents.xml</file-list><filter>/CVS$</filter><filter>/\.svn$</filter><filter>/\.cvsignore$</filter><filter>/\.cvspass$</filter><filter>/\.DS_Store$</filter></contents><extra-files/></pkgref>
\ No newline at end of file
<pkmkdoc spec="1.12"><properties><title>Jenkins CI Server</title><build>/Users/irichter/Desktop/Jenkins.pkg</build><organization>de.richter</organization><userSees ui="both"/><min-target os="3"/><domain anywhere="true"/></properties><distribution><versions min-spec="1.000000"/><scripts></scripts></distribution><contents><choice title="jenkins" id="choice5" tooltip="Jenkins main executable" description="Jenkins main" starts_selected="true" starts_enabled="true" starts_hidden="false"><customLoc>/Applications/Jenkins</customLoc><pkgref id="de.richter.jenkinsCiServer.jenkins.pkg"/></choice></contents><resources bg-scale="none" bg-align="bottomleft"><locale lang="en"><resource relative="true" mod="true" type="background">artwork/banner-200.png</resource><resource relative="true" mod="true" type="license">docs/Jenkins-LICENSE.txt</resource><resource relative="true" mod="true" type="welcome">docs/JenkinsWelcomePanel.rtf</resource></locale></resources><flags/><extra-files/><item type="file">01jenkins.xml</item><mod>postinstallActions.actions</mod><mod>properties.title</mod><mod>properties.userDomain</mod><mod>properties.customizeOption</mod><mod>extraFiles</mod><mod>properties.systemDomain</mod><mod>properties.anywhereDomain</mod></pkmkdoc>
\ No newline at end of file
h1. Jenkins OSX Installer Project
To create the Jenkins Installer for OSX you need an OSX machine with Developer Tools installed. You can download the Developer Tools from Apple's Developer Connection website (http://developer.apple.com)
h3. Build the installer
To build an installer you need to download the version you'd like to package from http://mirrors.jenkins-ci.org/war/latest/. Download the jenkins.war and place the file in *binary* directory. The installer project requires the file to be there. Otherwise the creation process will fail.
Open a terminal and enter the following commands:
<pre><code>ant build -DjenkinsBuildNumber=1.4xx</code></pre>
h3. Some Links
* "Jenkins Site":http://jenkins-ci.org
* "Apple Developer Connection":http://developer.apple.com
h3. MIT License
<pre>
Copyright (C) 2011 by Ingo Richter
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
</pre>
\ No newline at end of file
此差异由.gitattributes 抑制。
#build properties
#Mon, 11 Apr 2011 12:24:12 -0700
builddir=target
packagemaker=/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker
installer.file.name=JenkinsInstaller-${jenkinsBuildNumber}.pkg
installer.title=Jenkins ${jenkinsBuildNumber}
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?><!--ant-->
<project name="Jenkins OSX Installer Package" basedir="." default="build">
<property file="build.properties" />
<!-- Created by Ingo Richter on 2011-04-08. -->
<!-- Copyright (c) 2011. All rights reserved. -->
<!-- =================================
target: init
================================= -->
<target name="init" description="--> Prepare the build process" depends="">
<!-- Check if we know which build to package. If not -> fail -->
<fail unless="jenkinsBuildNumber" message="Please provide -DjenkinsBuildNumber=1.xxx when calling this script" />
<mkdir dir="${builddir}" />
</target>
<!-- =================================
target: clean
================================= -->
<target name="clean" description="--> Remove the installer and intermediate files" depends="">
<delete dir="${builddir}" />
</target>
<!-- =================================
target: package
Create a zip file which contains all the files and the git repository to rebuild everything
================================= -->
<target name="package" description="--> Package the project folder and the build script and place it in ${basedir}/.." depends="">
<tstamp/>
<zip destfile="${basedir}/../${ant.project.name}-${DSTAMP}-${TSTAMP}.zip" >
<fileset dir="${basedir}/">
<include name="**/**" />
</fileset>
</zip>
</target>
<!-- =================================
target: build
================================= -->
<target name="build" description="--> Build the Installer" depends="init">
<exec executable="${packagemaker}" dir="${basedir}" os="Mac OS X" output="${builddir}/packagemaker-${jenkinsBuildNumber}.log">
<arg line="-v --doc JenkinsInstaller.pmdoc --out ${builddir}/${installer.file.name} --version ${jenkinsBuildNumber} --title '${installer.title}'" />
</exec>
</target>
</project>
The MIT License
Copyright (c) 2004-, Kohsuke Kawaguchi, Sun Microsystems, Inc., and a number of other of contributers
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350
{\fonttbl\f0\fswiss\fcharset0 ArialMT;}
{\colortbl;\red255\green255\blue255;}
{\*\listtable{\list\listtemplateid1\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid1\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid1}}
{\*\listoverridetable{\listoverride\listid1\listoverridecount0\ls1}}
\margl1440\margr1440\vieww12440\viewh12240\viewkind0
\deftab720
\pard\pardeftab720\sl320\ql\qnatural
\f0\fs24 \cf0 Jenkins monitors executions of repeated jobs, such as building a software project or jobs run by cron. Among those things, current Jenkins focuses on the following two jobs:\
\
\pard\tx220\tx720\pardeftab720\li720\fi-720\sl320\ql\qnatural
\ls1\ilvl0\cf0 {\listtext \'95 }Building/testing software projects continuously, just like CruiseControl or\'a0DamageControl. In a nutshell, Jenkins provides an easy-to-use so-called continuous integration system, making it easier for developers to integrate\'a0changes to the project, and making it easier for users to obtain a fresh\'a0build. The automated, continuous build increases the productivity.\
{\listtext \'95 }Monitoring executions of externally-run jobs, such as cron jobs and procmail\'a0jobs, even those that are run on a remote machine. For example, with cron,\'a0all you receive is regular e-mails that capture the output, and it is up to\'a0you to look at them diligently and notice when it broke. Jenkins keeps those\'a0outputs and makes it easy for you to notice when something is wrong\
\pard\pardeftab720\sl320\ql\qnatural
\cf0 \
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\ql\qnatural\pardirnatural
\cf0 For information on CI see http://www.martinfowler.com/articles/continuousIntegration.html\
}
\ No newline at end of file
#!/bin/bash
scriptPath=$0
packagePath=$1
targetLocation=$2
targetVolume=$3
JENKINS_HOME=/Users/Shared/Jenkins/Home
JENKINS_PLIST=/Library/LaunchAgents/org.jenkins-ci.plist
cat > ${JENKINS_PLIST} <<JENKINS-PLIST
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>org.jenkins-ci</string>
<key>UserName</key>
<string>daemon</string>
<key>GroupName</key>
<string>daemon</string>
<key>ProgramArguments</key>
<array>
<string>/usr/bin/java</string>
<string>-Xmx512m</string>
<string>-jar</string>
<string>${targetLocation}/jenkins.war</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
<key>EnvironmentVariables</key>
<dict>
<key>JENKINS_HOME</key>
<string>${JENKINS_HOME}</string>
</dict>
</dict>
</plist>
JENKINS-PLIST
# this is the label
/bin/launchctl load ${JENKINS_PLIST}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册