<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Instruction Archives - scmGalaxy</title>
	<atom:link href="https://www.scmgalaxy.com/tutorials/tag/instruction/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.scmgalaxy.com/tutorials/tag/instruction/</link>
	<description>A Platform for Software Engineers</description>
	<lastBuildDate>Sat, 27 Feb 2021 09:55:32 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1</generator>
	<item>
		<title>Step by Step Instruction to Upgrade Perforce to 2014</title>
		<link>https://www.scmgalaxy.com/tutorials/step-by-step-instruction-to-upgrade-perforce-to-2014/</link>
					<comments>https://www.scmgalaxy.com/tutorials/step-by-step-instruction-to-upgrade-perforce-to-2014/#comments</comments>
		
		<dc:creator><![CDATA[scmgalaxy K]]></dc:creator>
		<pubDate>Wed, 24 Sep 2014 00:00:00 +0000</pubDate>
				<category><![CDATA[Perforce]]></category>
		<category><![CDATA[2014]]></category>
		<category><![CDATA[Guide]]></category>
		<category><![CDATA[How]]></category>
		<category><![CDATA[Instruction]]></category>
		<category><![CDATA[Perforce 2014]]></category>
		<category><![CDATA[Perforce Sever]]></category>
		<category><![CDATA[Perforce Update]]></category>
		<category><![CDATA[Perforce Upgrade Guide]]></category>
		<category><![CDATA[Perforce Upgrade instructions]]></category>
		<category><![CDATA[Perforce Upgrade Tutorial]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[Steps]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Update]]></category>
		<category><![CDATA[Upgrad]]></category>
		<category><![CDATA[Upgrade Perforce]]></category>
		<category><![CDATA[Ways]]></category>
		<guid isPermaLink="false">http://www.scmgalaxy.com/tutorials/2014/09/24/step-by-step-instruction-to-upgrade-perforce-to-2014/</guid>

					<description><![CDATA[<p>Step by Step Instruction to Upgrade Perforce to 2014 The step are as follows: a) Check if the license is [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/step-by-step-instruction-to-upgrade-perforce-to-2014/">Step by Step Instruction to Upgrade Perforce to 2014</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img fetchpriority="high" decoding="async" class="alignnone size-full wp-image-3537 aligncenter" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2014/09/instruction-to-upgrade-perf.png" alt="perforce-2014-upgrade-instructions" width="600" height="400" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2014/09/instruction-to-upgrade-perf.png 600w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2014/09/instruction-to-upgrade-perf-300x200.png 300w" sizes="(max-width: 600px) 100vw, 600px" /></p>
<p><strong>Step by Step Instruction to Upgrade Perforce to 2014</strong></p>
<p>The step are as follows:</p>
<p><strong>a) Check if the license is current.</strong></p>
<p>p4 license -o</p>
<p>The expiry date must be later than the binary release date you are installing</p>
<p><strong>b) Verify server archives using the command &#8216;p4 verify -q //&#8230; &gt; verify.txt&#8217;</strong></p>
<p>* Note &#8211; If the file &#8216;verify.txt&#8217; contains a &#8216;BAD!&#8217; or MISSING!&#8217;<br />
signature during the verify command, please contact Perforce Support prior to upgrading.<br />
** If the depot is large and you get an error message &#8220;Request too large for server memory&#8221;, you can split the verify to check chink of the depot:</p>
<p>Example:<br />
p4 verify -q //depot/project1/&#8230; &gt; prj1-verify.txt<br />
p4 verify -q //depot/project2/&#8230; &gt; prj2-verify.txt<br />
p4 verify -q //depot/project3/&#8230; &gt; prj3-verify.txt</p>
<p><strong>c) Stop the Perforce Server.</strong></p>
<p>p4 admin stop</p>
<p><strong>d) Make a checkpoint of the database.</strong></p>
<p>p4d -r P4ROOT -J journal -jc</p>
<p><strong>e) Copy the db.* files to a safe location.</strong></p>
<p><strong>f) Backup your archive files.</strong></p>
<p><strong>g) Read the release notes so you are aware of the latest changes.</strong></p>
<p><a href="http://www.perforce.com/perforce/doc.current/user/relnotes.txt" target="_blank" rel="noopener">http://www.perforce.com/perforce/doc.current/user/relnotes.txt</a></p>
<p><strong>h) Download the latest P4D version.</strong></p>
<p>ftp://ftp.perforce.com/perforce/</p>
<p><strong>i) Verify that the newly downloaded binary is the latest. You might need to copy the p4d.exe to p4s.exe</strong></p>
<p>p4d.exe -V<br />
p4s.exe -V</p>
<p><strong>j) Install the upgraded version of the Perforce server.</strong></p>
<p><strong>k) Restore the Perforce Server using the new P4D Binary and the checkpoint taken from the old P4D binary, with the following command ‘p4d –r root –jr checkpoint.xxx’.</strong></p>
<p><strong>l) If the server contains more than 1000 changelists, please run the following command &#8216;p4d -r root -xu&#8217; from the command line’.</strong></p>
<p><strong>m) Start the perforce Sever.</strong></p>
<p><strong>n) Verify server archive files.</strong></p>
<p>p4 verify -q //&#8230; &gt; upgrade-verify.txt</p>
<p>** Note &#8211; If the file &#8216;upgrade-verify.txt&#8217; will contains a &#8216;BAD!&#8217; or MISSING!&#8217; signature during the verify command, please contact us.</p>
<p><strong>o) Take a checkpoint</strong><br />
p4d -r root -J journal -jc</p>
<p><strong>This is also explained in the below article:</strong></p>
<p>Upgrading to 2013.3 and beyond &#8211; <a href="http://answers.perforce.com/articles/KB_Article/Upgrading-to-2013-3-and-beyond" target="_blank" rel="noopener">http://answers.perforce.com/articles/KB_Article/Upgrading-to-2013-3-and-beyond</a></p>
<p><strong>Windows To Linux</strong><br />
Moving from Linux to Windows is not a trivial issue, and such a migration is also not supported and will most likely require consolidation of case sensitivity conflicts using our P4 Migrate product. Please see the link below:</p>
<p><strong>Cross-Server Platform Migration</strong><br />
<a href="http://answers.perforce.com/articles/KB_Article/Cross-Platform-Perforce-Server-Migration/?q=linux+to+windows&amp;l=en_US&amp;fs=Search&amp;pn=1" target="_blank" rel="noopener">http://answers.perforce.com/articles/KB_Article/Cross-Platform-Perforce-Server-Migration/?q=linux+to+windows&amp;l=en_US&amp;fs=Search&amp;pn=1</a><br />
<a href="http://answers.perforce.com/articles/KB_Article/Cross-Platform-Perforce-Server-Migration" target="_blank" rel="noopener">http://answers.perforce.com/articles/KB_Article/Cross-Platform-Perforce-Server-Migration</a></p>
<p><strong>Change of Server is a &#8220;Self-serve&#8221; option, please fill out this form and licensing will update accordingly.</strong><br />
P4 Support Change of Server License Request<br />
<a href="http://www.perforce.com/support-services/change-server-request" target="_blank" rel="noopener">http://www.perforce.com/support-services/change-server-request</a></p>
<p><strong>Please pass the -z switch during the replay as the checkpoint/journal you are replaying are compressed: </strong><br />
p4d -r P4ROOT -jr -z checkpoint.ckp.104.gz</p>
<p><strong>You will need to request for a background user I believe to be able to do all the required command. This can be done by filling in this below form and using one background user for all of you build machines.</strong><br />
<a href="http://www.perforce.com/support-services/request-background-user" target="_blank" rel="noopener">http://www.perforce.com/support-services/request-background-user</a></p>
<p><strong>Moving a Perforce Server</strong><br />
<a href="http://answers.perforce.com/articles/KB_Article/Moving-a-Perforce-Server" target="_blank" rel="noopener">http://answers.perforce.com/articles/KB_Article/Moving-a-Perforce-Server</a></p>
<p><strong> By Chris Lesemann &lt;support@perforce.com</strong> <!-- [if gte mso 9]><xml>  <o:OfficeDocumentSettings>   <o:AllowPNG/>  </o:OfficeDocumentSettings> </xml><![endif]--></p>
<p><!-- [if gte mso 9]><xml>  <w:WordDocument>   <w:View>Normal</w:View>   <w:Zoom>0</w:Zoom>   <w:TrackMoves/>   <w:TrackFormatting/>   <w:PunctuationKerning/>   <w:ValidateAgainstSchemas/>   <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>   <w:IgnoreMixedContent>false</w:IgnoreMixedContent>   <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>   <w:DoNotPromoteQF/>   <w:LidThemeOther>EN-US</w:LidThemeOther>   <w:LidThemeAsian>X-NONE</w:LidThemeAsian>   <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>   <w:Compatibility>    <w:BreakWrappedTables/>    <w:SnapToGridInCell/>    <w:WrapTextWithPunct/>    <w:UseAsianBreakRules/>    <w:DontGrowAutofit/>    <w:SplitPgBreakAndParaMark/>    <w:EnableOpenTypeKerning/>    <w:DontFlipMirrorIndents/>    <w:OverrideTableStyleHps/>   </w:Compatibility>   <m:mathPr>    <m:mathFont m:val="Cambria Math"/>    <m:brkBin m:val="before"/>    <m:brkBinSub m:val="&#45;-"/>    <m:smallFrac m:val="off"/>    <m:dispDef/>    <m:lMargin m:val="0"/>    <m:rMargin m:val="0"/>    <m:defJc m:val="centerGroup"/>    <m:wrapIndent m:val="1440"/>    <m:intLim m:val="subSup"/>    <m:naryLim m:val="undOvr"/>   </m:mathPr></w:WordDocument> </xml><![endif]--><!-- [if gte mso 9]><xml>  <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true" DefSemiHidden="true" DefQFormat="false" DefPriority="99" LatentStyleCount="267">   <w:LsdException Locked="false" Priority="0" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Normal"/>   <w:LsdException Locked="false" Priority="9" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>   <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>   <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>   <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>   <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>   <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>   <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>   <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>   <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>   <w:LsdException Locked="false" Priority="39" Name="toc 1"/>   <w:LsdException Locked="false" Priority="39" Name="toc 2"/>   <w:LsdException Locked="false" Priority="39" Name="toc 3"/>   <w:LsdException Locked="false" Priority="39" Name="toc 4"/>   <w:LsdException Locked="false" Priority="39" Name="toc 5"/>   <w:LsdException Locked="false" Priority="39" Name="toc 6"/>   <w:LsdException Locked="false" Priority="39" Name="toc 7"/>   <w:LsdException Locked="false" Priority="39" Name="toc 8"/>   <w:LsdException Locked="false" Priority="39" Name="toc 9"/>   <w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>   <w:LsdException Locked="false" Priority="10" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Title"/>   <w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>   <w:LsdException Locked="false" Priority="11" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>   <w:LsdException Locked="false" Priority="22" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Strong"/>   <w:LsdException Locked="false" Priority="20" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>   <w:LsdException Locked="false" Priority="59" SemiHidden="false" UnhideWhenUsed="false" Name="Table Grid"/>   <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>   <w:LsdException Locked="false" Priority="1" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>   <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading"/>   <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List"/>   <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid"/>   <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1"/>   <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2"/>   <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1"/>   <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2"/>   <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1"/>   <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2"/>   <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3"/>   <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List"/>   <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading"/>   <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List"/>   <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid"/>   <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 1"/>   <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 1"/>   <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 1"/>   <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>   <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>   <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>   <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>   <w:LsdException Locked="false" Priority="34" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>   <w:LsdException Locked="false" Priority="29" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Quote"/>   <w:LsdException Locked="false" Priority="30" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>   <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>   <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>   <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>   <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>   <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 1"/>   <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>   <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 1"/>   <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>   <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 2"/>   <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 2"/>   <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 2"/>   <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>   <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>   <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>   <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>   <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>   <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>   <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>   <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 2"/>   <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>   <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 2"/>   <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>   <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 3"/>   <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 3"/>   <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 3"/>   <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>   <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>   <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>   <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>   <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>   <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>   <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>   <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 3"/>   <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>   <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 3"/>   <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>   <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 4"/>   <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 4"/>   <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 4"/>   <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>   <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>   <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>   <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>   <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>   <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>   <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>   <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 4"/>   <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>   <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 4"/>   <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>   <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 5"/>   <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 5"/>   <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 5"/>   <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>   <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>   <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>   <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>   <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>   <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>   <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>   <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 5"/>   <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>   <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 5"/>   <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>   <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 6"/>   <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 6"/>   <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 6"/>   <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>   <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>   <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>   <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>   <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>   <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>   <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>   <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 6"/>   <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>   <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 6"/>   <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>   <w:LsdException Locked="false" Priority="19" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>   <w:LsdException Locked="false" Priority="21" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>   <w:LsdException Locked="false" Priority="31" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>   <w:LsdException Locked="false" Priority="32" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>   <w:LsdException Locked="false" Priority="33" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>   <w:LsdException Locked="false" Priority="37" Name="Bibliography"/>   <w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>  </w:LatentStyles> </xml><![endif]--><!-- [if gte mso 10]>



<style>  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman","serif";} </style>

 <![endif]--></p>
<p class="MsoNormal" style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto;">Our Knowledge Base has accurate and up to date information that will help you prepare your own procedure for upgrading. Because the database structures have changed, you will need to take an existing checkpoint and then replay that checkpoint with the 2014.1 version of the P4 Server.</p>
<p class="MsoNormal" style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto;">It appear you are on a 32-bit Windows instance&#8230;will you be doing an inplace upgrade or moving to 64-bit hardware? If you are moving from 32-bit to -64bit you have to recover from checkpoint anyway.</p>
<p class="MsoNormal" style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto;">Please review the two links below and if you have any further questions I would be happy to assist you:</p>
<p class="MsoNormal" style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto;"> <a href="http://answers.perforce.com/articles/KB_Article/Upgrading-to-2013-3-and-beyond">Upgrading to 2013.3 and beyond</a> &lt;&#8211; specific procedure for moving from 2013.2 and earlier P4 to 2013.3 and later</p>
<p class="MsoNormal" style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto;"> <a href="http://answers.perforce.com/articles/KB_Article/Upgrading-a-Perforce-Server">Upgrading a Perforce Server</a> &lt;&#8211; in-place upgrade</p>
<p class="MsoNormal" style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto;"> <a href="http://answers.perforce.com/articles/KB_Article/Moving-a-Perforce-Server">Moving a Perforce Server</a> &lt;&#8211; if you have to move to new hard &#8211; do NOT start a 64-bit P4D binary against 32-bit db.* databases, or vice versa.</p>
<p class="MsoNormal" style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto;"> <a href="http://answers.perforce.com/articles/KB_Article/Upgrading-the-Perforce-Proxy">Upgrading the Perforce Proxy</a></p>
<p class="MsoNormal" style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto;">General information on the new Btree structures and functionality:</p>
<p class="MsoNormal" style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto;"> <a href="http://answers.perforce.com/articles/KB_Article/BTree-Format-Changed">BTree Format Changed for Perforce Server Versions 2013.3 and Later</a></p>
<p class="MsoNormal" style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto;"> <a href="http://answers.perforce.com/articles/KB_Article/Lockless-Reads-2013-3-and-Later">Lockless Reads</a></p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/step-by-step-instruction-to-upgrade-perforce-to-2014/">Step by Step Instruction to Upgrade Perforce to 2014</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/step-by-step-instruction-to-upgrade-perforce-to-2014/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Ways to Perforce server Disk Space Cleanup and Repos Size Management</title>
		<link>https://www.scmgalaxy.com/tutorials/ways-to-perforce-server-disk-space-cleanup-and-repos-size-management/</link>
					<comments>https://www.scmgalaxy.com/tutorials/ways-to-perforce-server-disk-space-cleanup-and-repos-size-management/#comments</comments>
		
		<dc:creator><![CDATA[scmgalaxy K]]></dc:creator>
		<pubDate>Mon, 22 Sep 2014 00:00:00 +0000</pubDate>
				<category><![CDATA[Perforce]]></category>
		<category><![CDATA[Cleanup]]></category>
		<category><![CDATA[Disk Space]]></category>
		<category><![CDATA[Disk Space Cleanup]]></category>
		<category><![CDATA[Guide]]></category>
		<category><![CDATA[How]]></category>
		<category><![CDATA[Instruction]]></category>
		<category><![CDATA[Management]]></category>
		<category><![CDATA[Perforce server]]></category>
		<category><![CDATA[Perforce server Guide]]></category>
		<category><![CDATA[Perforce server tutorial]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[Repos]]></category>
		<category><![CDATA[Repos Size Management]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[Steps]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Ways]]></category>
		<guid isPermaLink="false">http://www.scmgalaxy.com/tutorials/2014/09/22/ways-to-perforce-server-disk-space-cleanup-and-repos-size-management/</guid>

					<description><![CDATA[<p>DRAFT VERSION Cleaning up Old Checkpoints Playing with Symlink(Softlink) and Redirecting the ROOT folder to drive where we have enough [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/ways-to-perforce-server-disk-space-cleanup-and-repos-size-management/">Ways to Perforce server Disk Space Cleanup and Repos Size Management</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img decoding="async" class="alignnone size-full wp-image-3540 aligncenter" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2014/09/perforce-server-disk-space-.png" alt="perforce-server-disk-space-cleanup-and-repos-size-management" width="600" height="400" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2014/09/perforce-server-disk-space-.png 600w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2014/09/perforce-server-disk-space--300x200.png 300w" sizes="(max-width: 600px) 100vw, 600px" /></p>
<p>DRAFT VERSION</p>
<ol>
<li><strong>Cleaning up Old Checkpoints</strong></li>
<li><strong>Playing with Symlink(Softlink) and Redirecting the ROOT folder to drive where we have enough place.</strong></li>
<li><strong>Deleting db.have and recreate it manually</strong></li>
<li><strong>Display disk space information on the server using &#8220;p4 diskspace&#8221;</strong></li>
<li><strong>Display size information for files in the depot using &#8220;p4 sizes&#8221;</strong></li>
</ol>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/ways-to-perforce-server-disk-space-cleanup-and-repos-size-management/">Ways to Perforce server Disk Space Cleanup and Repos Size Management</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/ways-to-perforce-server-disk-space-cleanup-and-repos-size-management/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>How to assign computer startup scripts?</title>
		<link>https://www.scmgalaxy.com/tutorials/to-assign-computer-startup-scripts/</link>
					<comments>https://www.scmgalaxy.com/tutorials/to-assign-computer-startup-scripts/#respond</comments>
		
		<dc:creator><![CDATA[scmgalaxy K]]></dc:creator>
		<pubDate>Wed, 25 Sep 2013 06:28:38 +0000</pubDate>
				<category><![CDATA[Scripting]]></category>
		<category><![CDATA[assign]]></category>
		<category><![CDATA[computer]]></category>
		<category><![CDATA[computer startup scripts]]></category>
		<category><![CDATA[Create System Startup]]></category>
		<category><![CDATA[Guide]]></category>
		<category><![CDATA[How]]></category>
		<category><![CDATA[Instruction]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[scripts]]></category>
		<category><![CDATA[startup]]></category>
		<category><![CDATA[Startup Scripts]]></category>
		<category><![CDATA[Steps]]></category>
		<category><![CDATA[Tutorial]]></category>
		<guid isPermaLink="false">http://www.scmgalaxy.com/tutorials/2013/09/25/to-assign-computer-startup-scripts/</guid>

					<description><![CDATA[<p>1. Open the Group Policy snap-in. 2. In the console tree, click Scripts (Startup/Shutdown). &#8211; Where? policy name Policy &#62; [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/to-assign-computer-startup-scripts/">How to assign computer startup scripts?</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img decoding="async" class="alignnone size-full wp-image-3745" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2013/09/computer-startup-scripts.png" alt="computer-startup-scripts" width="600" height="400" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2013/09/computer-startup-scripts.png 600w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2013/09/computer-startup-scripts-300x200.png 300w" sizes="(max-width: 600px) 100vw, 600px" /></p>
<table class="numberedList" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr valign="top">
<td class="listNumber" align="right" nowrap="nowrap">1.</td>
<td>Open the Group Policy snap-in.</td>
</tr>
<tr valign="top">
<td class="listNumber" align="right" nowrap="nowrap">2.</td>
<td>In the console tree, click <strong>Scripts (Startup/Shutdown)</strong>. &#8211;</p>
<p><strong>Where?</strong></p>
<p><em>policy name</em> Policy &gt; Computer Configuration &gt; Windows Settings &gt; Scripts (Startup/Shutdown)or Start the policy editor of the local group: Start Menu &gt; Run &gt; Type gpedit.msc</td>
</tr>
<tr valign="top">
<td class="listNumber" align="right" nowrap="nowrap">3.</td>
<td>In the details pane, double-click <strong>Startup</strong>.</td>
</tr>
<tr valign="top">
<td class="listNumber" align="right" nowrap="nowrap">4.</td>
<td>In the <strong>Startup Properties</strong> dialog box, click <strong>Add</strong>.</td>
</tr>
<tr valign="top">
<td class="listNumber" align="right" nowrap="nowrap">5.</td>
<td>In the <strong>Add a Script</strong> dialog box, type the following information, and then click <strong>OK</strong>:</p>
<p><strong>Script Name:</strong> Type the path to the script, or click <strong>Browse</strong> to search for the script file in the Netlogon share of the domain controller.</p>
<p><strong>Script Parameters:</strong> Type any parameters that you want, the same way as you would type them on the command line. For example, if your script includes parameters called //logo (display banner) and //I (interactive mode), type the following: <strong>//logo //I</strong></td>
</tr>
<tr valign="top">
<td class="listNumber" align="right" nowrap="nowrap">6.</td>
<td>In the <strong>Startup Properties</strong> dialog box, specify the options that you want, as follows, and then click <strong>OK</strong>:</p>
<p><strong>Startup Scripts for </strong><strong><em>Group Policy object</em></strong><strong>:</strong> Lists all the scripts that are currently assigned to the selected Group Policy object. If you assign multiple scripts, the scripts are processed in the order that you specify. To move a script up in the list, click it, and then click <strong>Up</strong>. To move a script down in the list, click it, and then click <strong>Down</strong>.</p>
<p><strong>Add:</strong> Opens the <strong>Add a Script</strong> dialog box, where you can specify any additional scripts to use.</p>
<p><strong>Edit:</strong> Opens the <strong>Edit Script</strong> dialog box, where you can modify script information, such as name and parameters.</p>
<p><strong>Remove:</strong> Removes the selected script from the <strong>Startup Scripts</strong> list.</p>
<p><strong>Show Files:</strong> Displays the script files that are stored in the selected Group Policy object.</td>
</tr>
</tbody>
</table>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/to-assign-computer-startup-scripts/">How to assign computer startup scripts?</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/to-assign-computer-startup-scripts/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How to Select the Right Software version Control Product?</title>
		<link>https://www.scmgalaxy.com/tutorials/selecting-the-right-software-version-control-product/</link>
					<comments>https://www.scmgalaxy.com/tutorials/selecting-the-right-software-version-control-product/#comments</comments>
		
		<dc:creator><![CDATA[scmgalaxy K]]></dc:creator>
		<pubDate>Thu, 17 May 2012 15:55:00 +0000</pubDate>
				<category><![CDATA[Version Management]]></category>
		<category><![CDATA[Best]]></category>
		<category><![CDATA[Choose]]></category>
		<category><![CDATA[Control]]></category>
		<category><![CDATA[Effective]]></category>
		<category><![CDATA[Guide]]></category>
		<category><![CDATA[How]]></category>
		<category><![CDATA[Instruction]]></category>
		<category><![CDATA[Product]]></category>
		<category><![CDATA[Right]]></category>
		<category><![CDATA[Right Software version Control Product]]></category>
		<category><![CDATA[Select]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[Software version Control Product]]></category>
		<category><![CDATA[version]]></category>
		<category><![CDATA[Version control]]></category>
		<category><![CDATA[version Management]]></category>
		<guid isPermaLink="false">http://www.scmgalaxy.com/tutorials/2012/05/17/selecting-the-right-software-version-control-product/</guid>

					<description><![CDATA[<p>Original link: http://www.cmcrossroads.com/cm-articles/275-articles/14286-selecting-the-right-software-version-control-product Selecting the Right Software Version Control Product Written by Mike Feighner For many years, I worked loyally [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/selecting-the-right-software-version-control-product/">How to Select the Right Software version Control Product?</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3822 aligncenter" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2012/05/software-version-control-pr-1.png" alt="software-version-control-product" width="600" height="400" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2012/05/software-version-control-pr-1.png 600w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2012/05/software-version-control-pr-1-300x200.png 300w" sizes="auto, (max-width: 600px) 100vw, 600px" /></p>
<p>Original link: <a href="http://www.cmcrossroads.com/cm-articles/275-articles/14286-selecting-the-right-software-version-control-product" target="_blank" rel="noopener">http://www.cmcrossroads.com/cm-articles/275-articles/14286-selecting-the-right-software-version-control-product </a></p>
<p>Selecting the Right Software Version Control Product Written by Mike Feighner For many years, I worked loyally for the same company where my expertise was restricted to one single software version control tool—the one that was already in place. I was not involved with determining whether the selected tool was appropriate for the company&#8217;s needs; my role was to learn it well and use it within the accepted standards, guidelines, and internally approved processes. When I recently found myself back in the job market, I realized that there were many other version control tools in use in the industry. I then began to consult with other engineers in the field and gathered data from them on which version control tools their organizations were using and the selection criteria they used in choosing a version control tool for their organization. This experience opened up a whole new world for me and soon I realized that selecting and implementing the right tools was essential for the success of any software or systems development effort. From this experience, I have drawn up a checklist of version-control-tool criteria to aid an organization in selecting the best tool. Although there are many good descriptions available on the Internet about the many tools currently on the market, I do not recommend one specific tool over the other, because some tools may fit great in one organization, but fail in another. My goal here is to suggest a partial framework for deciding which tool best fits your needs while at the same time adhering to configuration management best practices. First, you will need to define your organization&#8217;s goals, which could include any or all of the following: Good documentation should accompany your tool purchase. The tool should be portable to more than one platform. If your organization is spread out over different time zones or even across international borders, your tool should support a multi-site rather than a single-site function. The cost should be affordable. The tool should be easy to use. The tool should easily support branching and merging. The tool should have the ability to lock a file when being edited to prevent two engineers from editing the same file simultaneously. The tool should be able to accurately merge changes between two or more files. The tool should log a history of changes with notes on who made the change and why the change was made. The tool should have the ability to establish immutable baselines. Next, you will need to review your organization&#8217;s requirements for software version control and carefully review the various software tools on the market to determine which one best matches your organization&#8217;s needs. Some may be better suited for your project than others. Selecting the wrong tool can have devastating effects on your team&#8217;s effort. Lack of a good version control tool can be a major cause for delays and problems during your organization&#8217;s application development. The project will run over cost and behind schedule and can be prone to risks associated with the manual management and distribution of your project&#8217;s dependencies. Unauthorized changes and results will occur, and the customer will not be satisfied. The tool you select should not impede the implementation of configuration management best practices, which serve as a means to add value to the process, improve quality, and increase productivity. The following are some, but not all, of the questions you will need to consider. Documentation Is the tool well documented? Is support documentation available on this tool&#8217;s installation and for the tool&#8217;s use by both administrators and developers? As a reference manual, the tool&#8217;s documentation should adequately describe the tool&#8217;s features—each dialog box, tab, field, button, etc. It should answer a user&#8217;s questions about completing a specific task in a clear and concise way. Frequently, the user documentation is available in the tool&#8217;s help pull-down menu or can be downloaded electronically from the vendor&#8217;s website. Portability Is the tool portable? Can it be used on multiple platforms and operating systems? From a business perspective, your software team will be supporting a broad user market occupying various platforms, including Windows, Mac OS, or some flavor of UNIX. Your tool should be compatible on any of these platforms, as each release will simultaneously need a separate version to support each platform of your user base. Multi-site vs. Single Site Is your team located at one location site, or is your team globally distributed across the nation and across different time zones throughout the world? A &#8220;single site&#8221; constitutes one physical location such as a single building or office. A &#8220;multisite&#8221; constitutes an organization in more than one office or location in a single time zone, in multiple time zones within one country or in multiple countries. If your organization is spread out over various time zones or even across international borders, your tool should support a multi-site rather than a single-site function. A multi-site project established as a set of several individual independent single-site systems would be prone to added costs and risks associated with the manual management and distribution of the project&#8217;s dependencies. Life for a multisite organization would be a lot easier to maintain a single multisite system with access to one shared repository. A single-site organization would be wise to select a single-site system over the additional costs of a multi-site system Cost What are the costs and terms of licensing of the tool? Is it something your organization can afford? Generally, a tool designed for a large organization will have a much larger cost than one designed for a smaller organization. No one should assume paying a higher cost for your tool will solve all of your problems. Even a high cost tool may fall sort of satisfying your organization&#8217;s needs. Your decision should consider overall cost and your organization&#8217;s needs. Supporting your organization&#8217;s needs should never be underfunded. Ease of Use How easy is it to install and deploy the system? Will the tool be dependent on other tools to conduct software builds, or are some of these capabilities already an integral part of the tool? Is this a tool that is easy to use from the first day of installation throughout the entire development lifecycle? Will training and customer support be available? Will the tool require training an in-house administrator dedicated to the administration of the tool? If you are not able to immediately pick up a source code management system and start building your site, odds are it is not entirely user friendly. Ultimately, the key to a successful deployment of a source code management system is reliability and ease-of-use. A tool that is difficult to use will likely conceal the functional benefits that it would otherwise provide. If training is an affordable option for your organization, consider whether it is available through the vendor or through an unbiased third party. For a lower-cost approach in the long term, consider sending a representative from your organization to a vendor training event who will later write up a training program for your own company-based organization. Branching Does the tool accommodate branch creation? The capability to create a branch should allow duplication of an object under revision control. Thus, code modifications can happen securely in parallel along both branches at the same time whether the change involves adding a new requirement or attempting to resolve an issue from an earlier release. The tool you select should support your particular choice of branching strategy, be it by revision or release via a simple copybranch or by creating adelta branch off of the main branch or trunk. Or the tool may go a step further by creating streams that include supporting metadata and workflow automation as an enhancement in managing multiple variants in the code. Branching is one of the most important features to consider in your choice of a good source control management system as it allows you to easily support at the same time the same source code and a parallel subset of the same code being modified securely to support either a new requirement or a bugfix from an earlier release. Merging Does the tool allow merges of changes and assists in resolving conflicts between different edits to the same file? Can a merge be done via a graphical user interface or on a command line? Take into consideration that merging concurrent changes made by different developers can increase the amount of effort to resolve conflicts and achieve a merge safely. The best advice in such cases is to merge little and merge often. File Locking Does the system have a means of preventing concurrent access to the same file? Does it prevent more than one user at a time from writing to the file until the current user either checks in the file or cancels the checkout? History of Changes Does the tool maintain a log of the history of changes? Can the tool display the history of changes graphically, as in a version tree? Does the tool easily identify the current baselined version and list previous baselined versions? A history change log that maintains accurate records facilitates traceability through the code&#8217;s lifecycle, from its beginning to its eventual release and beyond. A change history log can trace a change back its origins to who made the change and to the authority who authorized the change. It plays a vital role in baselining the code. This is a basic requirement of any organization wishing to maintain proper controls and compliance. Baselining Baselining, also known as setting a control point for your code, lets you know the exact versions of all source code and other configuration items that were included in a release. Does the tool have a way of baselining the code (be it via labeling, tagging, or snapshots) to a particular version that would allow us to back out and return to the previous baselined version in the event of a problem? Is the baseline immutable? If the tool allows changes to the previously released baseline, it jeopardizes the integrity of the software. A baseline must be locked down to prevent modifications. Any subsequent release should be based on a previously release baseline. Conclusion No one software version control tool can possibly fit every organization&#8217;s needs. There is no one size fits all. The right tool should help you safeguard your code and help your process improve productivity and quality. Remember that thorough evaluation and selection of the right tool will require funding, but this vetting must stay within your organization&#8217;s budget. Careful selection of the appropriate version control tool will help your firm improve productivity and quality and ensure that you are adhering to industry standards regarding configuration management best practices. About the Author Mike Feighner has more than twenty years&#8217; experience in information technology in the aerospace industry, including more than ten years in configuration management. Mike graduated from San Jose State University with a bachelor&#8217;s degree in German and has a master&#8217;s degree in political science from the University of Tübingen in Germany and a master&#8217;s degree in software engineering from National University.</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/selecting-the-right-software-version-control-product/">How to Select the Right Software version Control Product?</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/selecting-the-right-software-version-control-product/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>How we reduced build time from 8 hours to 1 hour ? &#8211; Complete Guide</title>
		<link>https://www.scmgalaxy.com/tutorials/how-we-reduced-build-time-from-8-hours-to-1-hour/</link>
					<comments>https://www.scmgalaxy.com/tutorials/how-we-reduced-build-time-from-8-hours-to-1-hour/#respond</comments>
		
		<dc:creator><![CDATA[scmgalaxy K]]></dc:creator>
		<pubDate>Mon, 21 Jun 2010 09:30:11 +0000</pubDate>
				<category><![CDATA[Build Management]]></category>
		<category><![CDATA[Build Process time]]></category>
		<category><![CDATA[Build time]]></category>
		<category><![CDATA[Build time Optimization]]></category>
		<category><![CDATA[Decrease Build Time]]></category>
		<category><![CDATA[Guide]]></category>
		<category><![CDATA[How To]]></category>
		<category><![CDATA[How to reduced build time]]></category>
		<category><![CDATA[Instruction]]></category>
		<category><![CDATA[Lessen Build Time]]></category>
		<category><![CDATA[Method]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[Reduce]]></category>
		<category><![CDATA[Save build time]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Ways]]></category>
		<guid isPermaLink="false">http://www.scmgalaxy.com/tutorials/2010/06/21/how-we-reduced-build-time-from-8-hours-to-1-hour/</guid>

					<description><![CDATA[<p>Situation For one of our clients, Build is taking 8 hours and nightly build is failing frequently. Test case execution [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/how-we-reduced-build-time-from-8-hours-to-1-hour/">How we reduced build time from 8 hours to 1 hour ? &#8211; Complete Guide</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-4425 aligncenter" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2010/06/hudson-master-slave-setup.png" alt="hudson-master-slave-setup" width="600" height="400" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2010/06/hudson-master-slave-setup.png 600w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2010/06/hudson-master-slave-setup-300x200.png 300w" sizes="auto, (max-width: 600px) 100vw, 600px" /></p>
<p><strong>Situation</strong></p>
<ol>
<li>For one of our clients, Build is taking 8 hours and nightly build is failing frequently.</li>
<li>Test case execution is consuming more time than the compilation.</li>
<li>Low confidence levels for developers on nightly builds and subsequently during integration cycle.</li>
</ol>
<p><strong>Approach</strong></p>
<ol>
<li>We reviewed the whole set of build scripts being used and test case suite to check how we can refatcor them.</li>
<li>Verified the build infrastructure i.e., build server capacity from hardware point of view.</li>
<li>Feasibility study done to check how a CI environment help in giving faster feedback on the quality.</li>
</ol>
<p><strong><br />
Solution</strong></p>
<ol>
<li>Refactoring done for build scripts to make modules compilation parallel (wherever possible).</li>
<li>Some test cases are selected (which don’t require external services like database) to run as part of the build.</li>
<li>CI environment (using open source cruise control) is established to run builds per commit and execute only above set of test cases as part of the build.</li>
<li>Set up low-cost remote agent machine which will run remaining test suite once per day.</li>
</ol>
<p><strong>Results</strong></p>
<ol>
<li>Build took only 1 hour and gave faster feedback to dev team.</li>
<li>CI environment provided good confidence to dev team.</li>
<li>Team is able to implement more best practices.</li>
<li>Effective use of existing build  infrastructure (hardware) ensured no further cost is required.</li>
<li>This helped the client in ensuring smooth release management.</li>
</ol>
<p>&nbsp;</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/how-we-reduced-build-time-from-8-hours-to-1-hour/">How we reduced build time from 8 hours to 1 hour ? &#8211; Complete Guide</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/how-we-reduced-build-time-from-8-hours-to-1-hour/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How to read XML file by using shell script ?</title>
		<link>https://www.scmgalaxy.com/tutorials/reading-xml-file-using-shell-script/</link>
					<comments>https://www.scmgalaxy.com/tutorials/reading-xml-file-using-shell-script/#respond</comments>
		
		<dc:creator><![CDATA[scmgalaxy K]]></dc:creator>
		<pubDate>Mon, 03 May 2010 06:40:34 +0000</pubDate>
				<category><![CDATA[Shell Script]]></category>
		<category><![CDATA[File]]></category>
		<category><![CDATA[Guide]]></category>
		<category><![CDATA[How To]]></category>
		<category><![CDATA[Instruction]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[Read]]></category>
		<category><![CDATA[Read XML File]]></category>
		<category><![CDATA[Read XML file using shell script]]></category>
		<category><![CDATA[Read XML with Shell Script]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[Shell]]></category>
		<category><![CDATA[Shell script]]></category>
		<category><![CDATA[shell script for reading xml content]]></category>
		<category><![CDATA[Using]]></category>
		<category><![CDATA[xml]]></category>
		<category><![CDATA[XML File Reading by Shell script]]></category>
		<guid isPermaLink="false">http://www.scmgalaxy.com/tutorials/2010/05/03/reading-xml-file-using-shell-script/</guid>

					<description><![CDATA[<p>This was like the first time where I had to write something that will be able to read something out [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/reading-xml-file-using-shell-script/">How to read XML file by using shell script ?</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-4367 aligncenter" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2010/05/xml-file-using-shell-script.png" alt="read-xml-file-using-shell-script" width="600" height="400" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2010/05/xml-file-using-shell-script.png 600w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2010/05/xml-file-using-shell-script-300x200.png 300w" sizes="auto, (max-width: 600px) 100vw, 600px" /></p>
<p>This was like the first time where I had to write something that will be able to read something out of a XML file using a shell script. Usually I would use Python/Perl as my favorite choices in such a scenario but in this one I really *had* to do all within a shell script.</p>
<p>This is an example of the type of XML file I had to read:</p>
<p><code>Fixed a new bug<br />
Shoaib Mir<br />
Sun, 02 May 2010<br />
shoaibmir[@]gmail.com</code></p>
<p>I ended up having a shell script like this:<br />
<code><br />
#!/bin/bash</code></p>
<p><code>#Looking for four keywords in here<br />
for key in changelog name date email<br />
do<br />
OUTPT=`grep  $key log.xml | tr -d '\t' | sed 's/^\([^&lt;].*\)$/\1/' `<br />
eval ${key}=`echo -ne \""${OUTPT}"\"`<br />
done</code></p>
<p># Getting the results in four specific arrays<br />
changelogarr=( `echo ${changelog}` )<br />
namearr=( `echo ${name}` )<br />
datearr=( `echo ${date}` )<br />
emailarr=( `echo ${email}` )</p>
<p><code>#Print all Arrays<br />
echo ${changelogarr[@]}<br />
echo ${namearr[@]}<br />
echo ${datearr[@]}<br />
echo ${emailarr[@]}<br />
</code></p>
<p>Which gives me an output:<br />
<code><br />
shoaib@shoaib-desktop:~/Desktop$ ./readxml.sh<br />
Fixed a new bug Shoaib Mir<br />
Sun, 02 May 2010<br />
shoaibmir[@]gmail.com</code></p>
<p>&nbsp;</p>
<p><b>Reference:</b></p>
<blockquote class="wp-embedded-content" data-secret="cc6RXB1pS5"><p><a href="https://shoaibmir.wordpress.com/2010/05/02/reading-xml-file-using-shell-scripting/">Reading XML file using shell&nbsp;script</a></p></blockquote>
<p><iframe loading="lazy" class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="&#8220;Reading XML file using shell&nbsp;script&#8221; &#8212; Life in the fast lane..." src="https://shoaibmir.wordpress.com/2010/05/02/reading-xml-file-using-shell-scripting/embed/#?secret=UX3iRl5qM9#?secret=cc6RXB1pS5" data-secret="cc6RXB1pS5" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe></p>
<p>&nbsp;</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/reading-xml-file-using-shell-script/">How to read XML file by using shell script ?</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/reading-xml-file-using-shell-script/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Usage of ANT_OPTS in Ant Script &#124; ANT_OPTS capabilities</title>
		<link>https://www.scmgalaxy.com/tutorials/usage-of-ant_opts-in-ant-script-ant_opts-capabilities/</link>
					<comments>https://www.scmgalaxy.com/tutorials/usage-of-ant_opts-in-ant-script-ant_opts-capabilities/#comments</comments>
		
		<dc:creator><![CDATA[scmgalaxy K]]></dc:creator>
		<pubDate>Wed, 14 Apr 2010 07:00:20 +0000</pubDate>
				<category><![CDATA[Apache Ant]]></category>
		<category><![CDATA[ANT]]></category>
		<category><![CDATA[ANT OPTS]]></category>
		<category><![CDATA[ANT OPTS capabilities]]></category>
		<category><![CDATA[Ant Opts in Ant Script]]></category>
		<category><![CDATA[ANT OPTS Usage]]></category>
		<category><![CDATA[ANT OPTS Usage in Ant Script]]></category>
		<category><![CDATA[Ant Script]]></category>
		<category><![CDATA[Capabilities]]></category>
		<category><![CDATA[Capabilities of Ant opts]]></category>
		<category><![CDATA[Guide]]></category>
		<category><![CDATA[How to use Ant opts in Ant Script]]></category>
		<category><![CDATA[Instruction]]></category>
		<category><![CDATA[Reference]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Usage]]></category>
		<guid isPermaLink="false">http://www.scmgalaxy.com/tutorials/2010/04/14/usage-of-ant_opts-in-ant-script-ant_opts-capabilities/</guid>

					<description><![CDATA[<p>Usage of ANT_OPTS in Ant Script &#124; ANT_OPTS capabilities Ant has three environment variables that you can use to set [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/usage-of-ant_opts-in-ant-script-ant_opts-capabilities/">Usage of ANT_OPTS in Ant Script | ANT_OPTS capabilities</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-4239" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2010/04/ant_opts-in-ant-script.png" alt="ant_opts-in-ant-script" width="600" height="400" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2010/04/ant_opts-in-ant-script.png 600w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2010/04/ant_opts-in-ant-script-300x200.png 300w" sizes="auto, (max-width: 600px) 100vw, 600px" /></p>
<p><b>Usage of ANT_OPTS in Ant Script | ANT_OPTS capabilities</b></p>
<p>Ant has three environment variables that you can use to set its default behavior.<br />
• ANT_ARGS Set this variable to include those options you use frequently.<br />
• ANT_OPTS is a list of arguments that you want to pass to the JVM that will run Ant.<br />
• JAVACMD is the absolute path to the Java executable you want Ant to use. you may specify a value for the JAVACMD environment variable. This defaults to %JAVA_HOME%\bin\java, typically invoking the JVM provided in Sun&#8217;s Java Development Kit. Ant provides JAVACMD for those who wish to specify an alternate JVM. full path of the Java executable. Use this to invoke a different JVM than JAVA_HOME/bin/java(.exe).</p>
<p>These are useful environment variables that the Ant wrapper scripts use when<br />
invoking Ant: ANT_OPTS and ANT_ARGS. Neither of these is typically set by users,<br />
but each can provide value for certain situations.</p>
<p>The ANT_OPTS environment variable provides options to the JVM executing Ant,<br />
such as system properties and memory configuration. ANT_OPTS &#8211; command-line arguments that should be passed to the JVM. For example, you can define system properties or set the maximum Java heap size here.</p>
<p><b>For authenticated proxy: </b><br />
Set your ANT_OPTS environment variable to configure your proxy if you have one. For instance:<br />
set ANT_OPTS=-Dhttp.proxyHost=myproxy -Dhttp.proxyPort=3128</p>
<p>You can set these properties by either modifying Ant&#8217;s startup script, or by<br />
using the ANT_OPTS environment variable. The following example shows the Windows commands to specify these properties using ANT_OPTS, and then to invoke Ant:<br />
set ANT_OPTS=-DproxySet=true -DproxyHost=localhost -DproxyPort=80<br />
ant mytarget<br />
The same trick works on Unix, although the syntax is slightly different depending on which<br />
shell you use:<br />
$ export ANT_OPTS=&#8221;-DproxySet=true -DproxyHost=localhost -DproxyPort=80&#8243;<br />
$ ant mytarget</p>
<p>set ANT_OPTS=-Dhttp.proxyHost=myproxyhost -Dhttp.proxyPort=8080 -Dhttp.proxyUserName=myproxyusername -Dhttp.proxyPassword=myproxypassword -Dhttps.proxyHost=myproxyhost -Dhttps.proxyPort=8080</p>
<p>&nbsp;</p>
<p><b>Use </b><b>ANT_OPTS </b><b>to control Ant’s virtual machine settings.</b><br />
Some tasks may require more memory, which you can set in the ANT_OPTS environment variable, using the appropriate mechanism for your platform:<br />
set ANT_OPTS=-Xmx500M<br />
export ANT_OPTS=-Xmx500M</p>
<p>Setting the maximum heap size is another common use of ANT_OPTS. Here is how we set the maximum size to 128 MB when using Sun&#8217;s JDK:<br />
set ANT_OPTS=-Xmx128m</p>
<p>One environment variable you may wish to set is ANT_OPTS. The value of this variable is passed as a JVM argument. Specifying system properties is a common use. In this simple<br />
<b>example, we pass the </b><b>log.dir </b><b>system property to the JVM running Ant:</b><br />
$ set ANT_OPTS=-Dlog.dir=C:\logs<br />
$ ant run<br />
Now this property is available within the buildfile, for instance:<br />
&lt;echo&gt;Log directory is set to: ${log.dir}&lt;/echo&gt;<br />
If the buildfile runs a Java application, the property may be retrieved from within it as<br />
follows:<br />
String logDir = System.getProperty(&#8220;log.dir&#8221;);</p>
<p>&nbsp;</p>
<p><b>Troubleshoot: Illegal Java options in the ANT_OPTS variable</b><br />
The environment variable ANT_OPTS provides a means to pass options into Ant,<br />
such as a permanent definition of some properties, or the memory parameters for<br />
Java. The variable must contain only options the local JVM recognizes. Any invalid<br />
parameter will generate an error message such as the following (where ANT_OPTS was<br />
set to –3):<br />
Unrecognized option: -3<br />
Could not create the Java virtual machine.</p>
<p>If the variable contains a string that is mistaken for the name of the Java class to run<br />
as the main class, then a different error appears:</p>
<p>Exception in thread &#8220;main&#8221; java.lang.NoClassDefFoundError: error-string<br />
Test: Examine ANT_OPTS and verify that the variable is unset or contains valid<br />
JVM options.<br />
Fix: Correct or clear the variable.</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/usage-of-ant_opts-in-ant-script-ant_opts-capabilities/">Usage of ANT_OPTS in Ant Script | ANT_OPTS capabilities</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/usage-of-ant_opts-in-ant-script-ant_opts-capabilities/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Power Point PPT: Using Ant To Build J2 Ee Application &#8211; Complete Guide</title>
		<link>https://www.scmgalaxy.com/tutorials/power-point-ppt-using-ant-to-build-j2-ee-application/</link>
					<comments>https://www.scmgalaxy.com/tutorials/power-point-ppt-using-ant-to-build-j2-ee-application/#comments</comments>
		
		<dc:creator><![CDATA[scmgalaxy K]]></dc:creator>
		<pubDate>Sun, 21 Mar 2010 20:57:58 +0000</pubDate>
				<category><![CDATA[Apache Ant]]></category>
		<category><![CDATA[Build Management & Tools]]></category>
		<category><![CDATA[ANT]]></category>
		<category><![CDATA[Application]]></category>
		<category><![CDATA[Build]]></category>
		<category><![CDATA[Build J2EE Application]]></category>
		<category><![CDATA[Build J2EE Application Using Ant]]></category>
		<category><![CDATA[Build J2EE Application Using Ant PPT]]></category>
		<category><![CDATA[Build J2EE Application Using Ant Presentation]]></category>
		<category><![CDATA[Build J2EE Application Using Ant Slideshare]]></category>
		<category><![CDATA[Guide]]></category>
		<category><![CDATA[How to build J2EE application in Ant]]></category>
		<category><![CDATA[How to build J2EE application in Ant PPT]]></category>
		<category><![CDATA[Instruction]]></category>
		<category><![CDATA[J2EE]]></category>
		<category><![CDATA[J2EE Application]]></category>
		<category><![CDATA[PPt]]></category>
		<category><![CDATA[PPT presentation]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[Slideshare]]></category>
		<category><![CDATA[Tutorial]]></category>
		<guid isPermaLink="false">http://www.scmgalaxy.com/tutorials/2010/03/21/power-point-ppt-using-ant-to-build-j2-ee-application/</guid>

					<description><![CDATA[<p>Power Point PPT: Using Ant To Build J2 Ee Application Using Ant To Build J2 Ee Applications from Rajesh Kumar [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/power-point-ppt-using-ant-to-build-j2-ee-application/">Power Point PPT: Using Ant To Build J2 Ee Application &#8211; Complete Guide</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1><img loading="lazy" decoding="async" class="alignnone size-full wp-image-4231" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2010/03/ant-to-build-j2-ee-applicat.png" alt="ant-to-build-j2ee-application" width="600" height="400" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2010/03/ant-to-build-j2-ee-applicat.png 600w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2010/03/ant-to-build-j2-ee-applicat-300x200.png 300w" sizes="auto, (max-width: 600px) 100vw, 600px" /></h1>
<h1>Power Point PPT: Using Ant To Build J2 Ee Application</h1>
<p><iframe loading="lazy" style="border: 1px solid #CCC; border-width: 1px; margin-bottom: 5px; max-width: 100%;" src="//www.slideshare.net/slideshow/embed_code/key/le9jPXaQEhyjYd" width="595" height="485" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" allowfullscreen="allowfullscreen"> </iframe></p>
<div style="margin-bottom: 5px;"><strong> <a title="Using Ant To Build J2 Ee Applications" href="//www.slideshare.net/rajeshatbuzz/using-ant-to-build-j2-ee-applications" target="_blank" rel="noopener">Using Ant To Build J2 Ee Applications</a> </strong> from <strong><a href="https://www.slideshare.net/rajeshatbuzz" target="_blank" rel="noopener">Rajesh Kumar</a></strong></div>
<p>&nbsp;</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/power-point-ppt-using-ant-to-build-j2-ee-application/">Power Point PPT: Using Ant To Build J2 Ee Application &#8211; Complete Guide</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/power-point-ppt-using-ant-to-build-j2-ee-application/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>How to Run/Deploy Java EE applications on Amazon EC2?</title>
		<link>https://www.scmgalaxy.com/tutorials/running-java-ee-applications-on-amazon-ec2/</link>
					<comments>https://www.scmgalaxy.com/tutorials/running-java-ee-applications-on-amazon-ec2/#comments</comments>
		
		<dc:creator><![CDATA[scmgalaxy K]]></dc:creator>
		<pubDate>Wed, 10 Mar 2010 06:01:03 +0000</pubDate>
				<category><![CDATA[Amazon (Elastic Cloud)]]></category>
		<category><![CDATA[Amazon EC2]]></category>
		<category><![CDATA[Application]]></category>
		<category><![CDATA[AWS]]></category>
		<category><![CDATA[Deploy]]></category>
		<category><![CDATA[Deploy Java EE app on Amazon Ec2]]></category>
		<category><![CDATA[ec2deploy]]></category>
		<category><![CDATA[Guide]]></category>
		<category><![CDATA[How To]]></category>
		<category><![CDATA[How to Deploe Java EE app on Ec2]]></category>
		<category><![CDATA[How to Run Java EE app on Ec2]]></category>
		<category><![CDATA[Instruction]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[Java EE]]></category>
		<category><![CDATA[Java EE app on Ec2]]></category>
		<category><![CDATA[Java EE application on Amazon Ec2]]></category>
		<category><![CDATA[Push]]></category>
		<category><![CDATA[Reference]]></category>
		<category><![CDATA[Run Java EE applications on Amazon EC2]]></category>
		<category><![CDATA[Tutorial]]></category>
		<guid isPermaLink="false">http://www.scmgalaxy.com/tutorials/2010/03/10/running-java-ee-applications-on-amazon-ec2/</guid>

					<description><![CDATA[<p>Running Java EE applications on Amazon EC2: deploying to 20 machines with no money down Computer hardware has traditionally been [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/running-java-ee-applications-on-amazon-ec2/">How to Run/Deploy Java EE applications on Amazon EC2?</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1><img loading="lazy" decoding="async" class="alignnone size-full wp-image-4109 aligncenter" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2010/03/java-ee-applications-on-ama.png" alt="running-java-ee-applications-on-amazon-ec2" width="600" height="400" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2010/03/java-ee-applications-on-ama.png 600w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2010/03/java-ee-applications-on-ama-300x200.png 300w" sizes="auto, (max-width: 600px) 100vw, 600px" /></h1>
<h1>Running Java EE applications on Amazon EC2: deploying to 20 machines with no money down</h1>
<p>Computer hardware has traditionally been a scarce, expensive resource. In the early days of computing developers had to share a single machine. Today each developer usually has their own machine but it’s rare for a developer to have more than one. This means that running performance tests often involves scavenging for machines.  Likewise, replicating even just part of a production environment is a major undertaking. With <a href="http://www.amazon.com/gp/browse.html?node=201590011" target="_blank" rel="noopener">Amazon’s Elastic Compute Cloud (EC2)</a>, however, things are very different. A set of Linux servers is now just a web service call away. Depending on the <a href="http://www.amazon.com/gp/browse.html?node=370375011" target="_blank" rel="noopener">type of the servers</a> you simply pay 10-80 cents per server per hour for up to 20 servers! No more upfront costs or waiting for machines to be purchased and configured.</p>
<p>To make it easier for enterprise Java developers to use EC2, I have created EC2Deploy.  It’s a Groovy framework for deploying an enterprise Java application on a set of Amazon EC2 servers. EC2Deploy provides a simple, easy to use API for launching a set of EC2 instances; configuring MySQL, Apache and one or more Tomcat servers; and deploying one or more web applications. In addition, it can also run JMeter and collect performance metrics.</p>
<p>Here is an example script that launches some EC2 instances; configures MySQL with one slave, Tomcat and Apache; deploys a single web application on the Tomcat server; and runs a JMeter test with first one thread and then two.</p>
<pre>class ClusterTest extends GroovyTestCase {</pre>
<pre>  void testSomething() {</pre>
<pre>    AWSProperties awsProperties = new</pre>
<pre>        AWSProperties("/…/aws.properties")</pre>
<pre></pre>
<pre>    def ec2 = new EC2(awsProperties)</pre>
<pre></pre>
<pre>    def explodedWar = '…/projecttrack/webapp/target/ptrack'</pre>
<pre></pre>
<pre>    ClusterSpec clusterSpec =</pre>
<pre>       new ClusterSpec()</pre>
<pre>            .schema("ptrack", ["ptrack": "ptrack"],</pre>
<pre>                    ["src/test/resources/testdml1.sql",</pre>
<pre>                     "src/test/resources/testdml2.sql"])</pre>
<pre>            .slaves(1)</pre>
<pre>            .tomcats(1)</pre>
<pre>            .webApp(explodedWar, "ptrack")</pre>
<pre>            .catalinaOptsBuilder({builder, databasePrivateDnsName -&gt;</pre>
<pre>                 builder.arg("-Xmx500m")</pre>
<pre>                 builder.prop("com.sun.management.jmxremote")</pre>
<pre>                 builder.prop("com.sun.management.jmxremote.port", 8091)</pre>
<pre>                 builder.prop("com.sun.management.jmxremote.authenticate",</pre>
<pre>                                     false)</pre>
<pre>                 builder.prop("com.sun.management.jmxremote.ssl", false)</pre>
<pre>                 builder.prop("ptrack.application.environment", "ec2")</pre>
<pre>                 builder.prop("log4j.configuration",</pre>
<pre>                               "log4j-minimal.properties")</pre>
<pre>                 builder.prop("jdbc.db.server", databasePrivateDnsName)})</pre>
<pre></pre>
<pre>    SimpleCluster cluster = new SimpleCluster(ec2, clusterSpec)</pre>
<pre></pre>
<pre>    cluster.loadTest("…/projecttrack/functionalTests/jmeter/SimpleTest.jmx",</pre>
<pre>        [1, 2])</pre>
<pre></pre>
<pre>    cluster.stop()</pre>
<pre>  }</pre>
<pre>}</pre>
<p>Let’s look at each of the pieces.</p>
<p>First, we need to configure the framework as follows:</p>
<pre>    AWSProperties awsProperties = new</pre>
<pre>        AWSProperties("/…/aws.properties")</pre>
<pre>    def ec2 = new EC2(awsProperties)</pre>
<p>The aws.properties file contains various properties including the Amazon WS security credentials and the EC2 AMI (i.e. OS image) to launch. All servers use my EC2 appliance AMI that has Java, MySQL, Apache, Tomcat, Jmeter and some other useful tools pre-installed.</p>
<p>Next we need to configure the servers:</p>
<pre>     ClusterSpec clusterSpec =</pre>
<pre>        new ClusterSpec()</pre>
<pre>             .schema("ptrack", ["ptrack": "ptrack"],</pre>
<pre>                    ["src/test/resources/testdml1.sql",</pre>
<pre>                     "src/test/resources/testdml2.sql"])</pre>
<pre>             .slaves(1)</pre>
<pre>             .tomcats(1)</pre>
<pre>             .webApp(explodedWar, "ptrack")</pre>
<pre>             .catalinaOptsBuilder({builder, databasePrivateDnsName -&gt;</pre>
<pre>                 builder.arg("-Xmx500m")</pre>
<pre>                 builder.prop("com.sun.management.jmxremote")</pre>
<pre>                 builder.prop("com.sun.management.jmxremote.port", 8091)</pre>
<pre>                 builder.prop("com.sun.management.jmxremote.authenticate",</pre>
<pre>                                     false)</pre>
<pre>                 builder.prop("com.sun.management.jmxremote.ssl", false)</pre>
<pre>                 builder.prop("ptrack.application.environment", "ec2")</pre>
<pre>                 builder.prop("log4j.configuration",</pre>
<pre>                               "log4j-minimal.properties")</pre>
<pre>                 builder.prop("jdbc.db.server", databasePrivateDnsName)})</pre>
<pre></pre>
<pre>     SimpleCluster cluster = new SimpleCluster(ec2, clusterSpec)</pre>
<p>This code first creates a ClusterSpec, which defines the configuration of the machines and the applications:</p>
<ul>
<li>schema() – specifies the name of the database schema to create; names of the users and their passwords; the DML scripts to execute once the database has been create</li>
<li>slaves() – specifies how many MySql slaves to create</li>
<li>tomcats() &#8211; specifies how many Tomcats to run.</li>
<li>webApp() &#8211; configures a web application. This method takes two parameters: the path to the exploded WAR directory (conveniently created by Maven) and the context to deploy the web application under.</li>
<li>catalinaOptsBuilder() – supplies a closure that takes a builder and the DNS name of the MySQL server as arguments and returns the CATALINA_OPTS used to launch Tomcat. It’s primary purpose is to configure the web application(s) to use the correct database server</li>
</ul>
<p>It then creates a cluster with that specification.</p>
<p>We then start the cluster:</p>
<pre>    cluster.start()</pre>
<p>At this point EC2Deploy will:</p>
<ol>
<li>Launch the EC2 instances running my appliance AMI.</li>
<li>Initialize the MySql master database</li>
<li>Create the MySql slave</li>
<li>Create the database schema and the users</li>
<li>Run any DML scripts (these are cached on S3 in a bucket called “tmp&#8211;dml” for the reasons described next)</li>
<li>Upload the web applications to <a href="http://www.amazon.com/gp/browse.html?node=16427261" target="_blank" rel="noopener">Amazon S3 (Simple Storage Service)</a> where they are cached in order to avoid time consuming uploads (over slow DSL connections, for example). EC2Deploy only uploads new and changed files, which means that the bulky 3<sup>rd</sup> party libraries are only uploaded once. Each web application is stored in an S3 bucket called -tmp-war. If this bucket does not exist you will see some warning messages and the bucket will be created.</li>
<li>Deploy the web applications on each of the Tomcat servers</li>
<li>Configure Apache to load balance across the Tomcat servers</li>
</ol>
<p>Once the cluster is started we can run a JMeter load test:</p>
<pre>    cluster.loadTest("…/projecttrack/functionalTests/jmeter/SimpleTest.jmx", [1, 2])</pre>
<p>The first argument specifies the test to run and the second argument is a list of JMeter thread counts. In this example, EC2deploy first runs the load test with one thread and then two threads. For each test run, it generates a report describing CPU utilization for each machine, average response time and throughput.</p>
<p>Finally, we stop the EC2 instances:</p>
<p>cluster.stop()</p>
<p>As you can see, EC2Deploy makes it pretty easy to deploy and test your enterprise Java application. I’ve used it to clone a production environment and run load tests. NOTE 1/28/08: The source code EC2Deploy along with a very cool Maven plugin is now <a href="http://www.chris-richardson.blog-city.com/ec2deploy_and_the_cloud_tools_maven_plugin_are_now_available.htm">available</a> !</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/running-java-ee-applications-on-amazon-ec2/">How to Run/Deploy Java EE applications on Amazon EC2?</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/running-java-ee-applications-on-amazon-ec2/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Amazon EC2 key pairs and other stumbling blocks &#8211; Guide</title>
		<link>https://www.scmgalaxy.com/tutorials/amazon-ec2-key-pairs-and-other-stumbling-blocks/</link>
					<comments>https://www.scmgalaxy.com/tutorials/amazon-ec2-key-pairs-and-other-stumbling-blocks/#comments</comments>
		
		<dc:creator><![CDATA[scmgalaxy K]]></dc:creator>
		<pubDate>Tue, 09 Mar 2010 13:47:30 +0000</pubDate>
				<category><![CDATA[Amazon (Elastic Cloud)]]></category>
		<category><![CDATA[Amazon EC2]]></category>
		<category><![CDATA[Amazon EC2 key pairs Tutorial]]></category>
		<category><![CDATA[AWS]]></category>
		<category><![CDATA[AWS tools]]></category>
		<category><![CDATA[Cloud Foundry]]></category>
		<category><![CDATA[Cloud Tools]]></category>
		<category><![CDATA[ec2]]></category>
		<category><![CDATA[EC2 key pairs]]></category>
		<category><![CDATA[EC2 key pairs and security group configuration]]></category>
		<category><![CDATA[Guide]]></category>
		<category><![CDATA[How to create a key pair]]></category>
		<category><![CDATA[Instruction]]></category>
		<category><![CDATA[key pairs]]></category>
		<category><![CDATA[Security groups]]></category>
		<category><![CDATA[Stumbling blocks]]></category>
		<category><![CDATA[Tutorial]]></category>
		<guid isPermaLink="false">http://www.scmgalaxy.com/tutorials/2010/03/09/amazon-ec2-key-pairs-and-other-stumbling-blocks/</guid>

					<description><![CDATA[<p>While working with Cloud Tools and Cloud Foundry users, I have noticed that EC2 key pairs and security group configuration [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/amazon-ec2-key-pairs-and-other-stumbling-blocks/">Amazon EC2 key pairs and other stumbling blocks &#8211; Guide</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-4124 aligncenter" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2010/03/amazon-ec2-key-pairs.png" alt="amazon-ec2-key-pairs-stumbling-blocks" width="600" height="400" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2010/03/amazon-ec2-key-pairs.png 600w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2010/03/amazon-ec2-key-pairs-300x200.png 300w" sizes="auto, (max-width: 600px) 100vw, 600px" /></p>
<p>While working with <a href="http://code.google.com/p/cloudtools">Cloud Tools</a> and <a href="http://www.cloudfoundry.com/">Cloud Foundry</a> users, I have noticed that EC2 key pairs and security group configuration are common stumbling blocks for people who are new to Amazon EC2. When you sign up for an AWS account you get what can be, at first, a confusing set of credentials:  an access key id,  a secret access key, X509 certificate and a corresponding private key. You authenticate an AWS request using either the access key id and secret access key or the X509 certificate and private key. Some APIs and tools support both options, where was others support just one. And, to make matters worse, to launch an EC2 instance and access it via SSH you must use a (named) EC2 key pair. This EC2 key pair is not the same as the X509 certificate/private key given to you by AWS during sign up. But they are easily confused since they both consist of private and public keys.</p>
<p>You create a EC2 key pair by using one of the AWS tools: command line tools, <a href="http://developer.amazonwebservices.com/connect/entry.jspa?externalID=609">ElasticFox plugin</a> or the rather nice <a href="https://console.aws.amazon.com/">AWS console</a>. Under the covers these tools make an AWS request to create the key pair.</p>
<p>Here is a screenshot of the AWS Console showing how you create a key pair.</p>
<p><img decoding="async" src="http://files.blog-city.com/files/M04/58308/p/f/keypaircreating.png" alt="Creating a Key Pair" border="0" /></p>
<p>There are three steps:</p>
<ol>
<li>Select <b>Key Pairs</b></li>
<li>Click  <b>Create Key Pair</b></li>
<li>Enter the name of the Key Pair you want to create &#8211; you chose the name</li>
</ol>
<p>The console will then create the key pair and prompt you to save the private key.</p>
<p><img decoding="async" src="http://files.blog-city.com/files/M04/58308/p/f/keypaircreated.png" alt="Saving a key pair" border="0" /></p>
<p>You specify the key pair name in the AWS request that launches the instances and specify the private key file as the -i argument to ssh when connecting to the instance.Just make sure you save the key pair in safe place.</p>
<p>Another stumbling block is that you need to enable SSH in the AWS firewall. Both Cloud Tools and Cloud Foundry use SSH to configure the instances and deploy the application. If SSH is blocked then they won&#8217;t work. Fortunately, the AWS firewall (a.k.a. security groups) is extremely easy to configure using the AWS tools &#8211; command line tools, ElasticFox plugin or the nice AWS console &#8211; by editing the <span style="font-weight: bold;">default</span> security group to allow SSH traffic.</p>
<p>The good news is that these are relatively minor hurdles to overcome. Once you have sorted out your EC2 key pair and edited the security groups to enable SSH using Cloud Tools or Cloud Foundry to deploy your web application is very easy.</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/amazon-ec2-key-pairs-and-other-stumbling-blocks/">Amazon EC2 key pairs and other stumbling blocks &#8211; Guide</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/amazon-ec2-key-pairs-and-other-stumbling-blocks/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Issues Compiling VS2010 solutions (with web projects) from Nant &#124; MSB4064 error</title>
		<link>https://www.scmgalaxy.com/tutorials/issues-compiling-vs2010-solutions-with-web-projects-from-nant/</link>
					<comments>https://www.scmgalaxy.com/tutorials/issues-compiling-vs2010-solutions-with-web-projects-from-nant/#comments</comments>
		
		<dc:creator><![CDATA[scmgalaxy K]]></dc:creator>
		<pubDate>Tue, 09 Mar 2010 13:31:46 +0000</pubDate>
				<category><![CDATA[Nant]]></category>
		<category><![CDATA[command line compilation error VS2010]]></category>
		<category><![CDATA[Compilation error in VS2010]]></category>
		<category><![CDATA[Compile]]></category>
		<category><![CDATA[Compile error Visual Studio 2010]]></category>
		<category><![CDATA[Compiling issue in VS2010]]></category>
		<category><![CDATA[Guide]]></category>
		<category><![CDATA[How To]]></category>
		<category><![CDATA[Instruction]]></category>
		<category><![CDATA[issue]]></category>
		<category><![CDATA[MSB4064 error]]></category>
		<category><![CDATA[MSB4064 error Solution]]></category>
		<category><![CDATA[MSB4064 issue]]></category>
		<category><![CDATA[NAnt]]></category>
		<category><![CDATA[nant.exe]]></category>
		<category><![CDATA[Project Upgrade to Visual Studio 2010]]></category>
		<category><![CDATA[Solution]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[VisualStudio 2010]]></category>
		<category><![CDATA[VS2010]]></category>
		<category><![CDATA[web projects]]></category>
		<guid isPermaLink="false">http://www.scmgalaxy.com/tutorials/2010/03/09/issues-compiling-vs2010-solutions-with-web-projects-from-nant/</guid>

					<description><![CDATA[<p>Recently I upgraded a project of mine (the Dimecasts code base) to use VisualStudio 2010.  In the process everything worked [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/issues-compiling-vs2010-solutions-with-web-projects-from-nant/">Issues Compiling VS2010 solutions (with web projects) from Nant | MSB4064 error</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" class="alignnone wp-image-4131 size-full" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2010/03/vs2010-solutions-with-web-p.png" alt="vs2010-compiling-issues" width="600" height="400" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2010/03/vs2010-solutions-with-web-p.png 600w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2010/03/vs2010-solutions-with-web-p-300x200.png 300w" sizes="auto, (max-width: 600px) 100vw, 600px" /></p>
<p>Recently I upgraded a project of mine (the Dimecasts code base) to use VisualStudio 2010.  In the process everything worked just fine from the IDE, but when I tried to compile it from the command line I would get the following errors:</p>
<p>Error MSB4064: The &#8220;Retries&#8221; parameter is not supported by the &#8220;Copy&#8221; task.<br />
Error MSB4063: THe &#8220;Copy&#8221; task could be initialized with its input parameter.</p>
<p>After a bit a googling I came across a post which (and of course i cannot find it now) said that if you open up your .proj files and change the line that pointed to the v10.0 build of web applications and reset it back to 9.0 everything would compile.  And this did work&#8230; BUT when you try to open that project up again in VS 2010 it will simply revert your changes&#8230; this is not a working solution.</p>
<p>Next I decided to switch my target framework in Nant from 3.5 to 4.0, but of course my nant.exe.config file does not support 4.0 yet.  So after a bit more googling I found this post that gives details on how to add the missing values to the config file.</p>
<p>When I added the config information to my Nant.exe.config file things were better, but still not great.  Now I was getting an error that said:</p>
<p>The &#8220;vendor&#8221; attribute does not exist, or has no value.</p>
<p>To resolve this I added the following under the node in my config<br />
vendor=&#8221;Microsoft&#8221;</p>
<p>After this I got another error&#8230;. This time it said that .Net Framework 4.0 was not installed.  But I know this is not valid.  After looking at the information for a few more seconds I realized the issue.  The example config from the post above was build on an older version of the 4.0 framework (.20506) and I have .30128.</p>
<p>I changed all values in the nant.exe.config value that was v4.0.20506 to be v4.0.30128 and NOW I am able to compile.</p>
<p>So long story short, if you are getting the MSB4064 error you need to do the following:</p>
<p>1. Point nant to use the 4.0 framework tools<br />
2. Follow this post  and copy the framework section to your Nant.exe.config file<br />
3. Add the missing &#8216;vendor&#8217; attribute to the new framework section<br />
4. Update the version in the new framework section to match the version you have on disk (check C:\Windows\Microsoft.NET\Framework for versions)<br />
5. Compile again</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/issues-compiling-vs2010-solutions-with-web-projects-from-nant/">Issues Compiling VS2010 solutions (with web projects) from Nant | MSB4064 error</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/issues-compiling-vs2010-solutions-with-web-projects-from-nant/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>JUnit 4 Test Logging Tips using SLF4J</title>
		<link>https://www.scmgalaxy.com/tutorials/junit-4-test-logging-tips-using-slf4j/</link>
					<comments>https://www.scmgalaxy.com/tutorials/junit-4-test-logging-tips-using-slf4j/#comments</comments>
		
		<dc:creator><![CDATA[scmgalaxy K]]></dc:creator>
		<pubDate>Tue, 09 Mar 2010 13:23:24 +0000</pubDate>
				<category><![CDATA[Testing Tools]]></category>
		<category><![CDATA[Guide]]></category>
		<category><![CDATA[Instruction]]></category>
		<category><![CDATA[JUnit]]></category>
		<category><![CDATA[JUnit 4]]></category>
		<category><![CDATA[JUnit 4 and SLF4J Implementation]]></category>
		<category><![CDATA[JUnit 4 Test using SLF4J]]></category>
		<category><![CDATA[JUnit tests]]></category>
		<category><![CDATA[Log]]></category>
		<category><![CDATA[Log statements]]></category>
		<category><![CDATA[Logging techniques]]></category>
		<category><![CDATA[Logging tips]]></category>
		<category><![CDATA[Simple Logging Facade for Java]]></category>
		<category><![CDATA[SLF4J]]></category>
		<category><![CDATA[Test]]></category>
		<category><![CDATA[Test logging]]></category>
		<category><![CDATA[Test logging techniques]]></category>
		<category><![CDATA[Test logging Tips]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Tutorial]]></category>
		<guid isPermaLink="false">http://www.scmgalaxy.com/tutorials/2010/03/09/junit-4-test-logging-tips-using-slf4j/</guid>

					<description><![CDATA[<p>When writing JUnit tests developers often add log statements that can help provide information on test failures. During the initial [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/junit-4-test-logging-tips-using-slf4j/">JUnit 4 Test Logging Tips using SLF4J</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-4134 aligncenter" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2010/03/junit-4-test-logging-tips.png" alt="junit-4-test-logging-using-slf4j" width="600" height="400" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2010/03/junit-4-test-logging-tips.png 600w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2010/03/junit-4-test-logging-tips-300x200.png 300w" sizes="auto, (max-width: 600px) 100vw, 600px" /></p>
<p>When writing JUnit tests developers often add log statements that can help provide information on test failures. During the initial attempt to find a failure a simple System.out.println() statement is usually the first resort of most developers.</p>
<p>Replacing these System.out.println() statements with log statements is the first improvement on this technique. Using SLF4J (Simple Logging Facade for Java) provides some neat improvements using parameterized messages. Combining SLF4J with JUnit 4 rule implementations can provide more efficient test class logging techniques.</p>
<p>Some examples will help to illustrate how SLF4J and JUnit 4 rule implementation offers improved test logging techniques. As mentioned the inital solution by developers is to use System.out.println() statements. The simple example code below shows this method.</p>
<p><span style="background-color: #c0c0c0;">01    import org.junit.Test;<br />
02<br />
03    public class LoggingTest {<br />
04<br />
05      @Test<br />
06      public void testA() {<br />
07        System.out.println(&#8220;testA being run&#8230;&#8221;);<br />
08      }<br />
09<br />
10      @Test<br />
11      public void testB() {<br />
12        System.out.println(&#8220;testB being run&#8230;&#8221;);<br />
13      }<br />
14    }</span></p>
<p>The obvious improvement here is to use logging statements rather than the System.out.println() statements. Using SLF4J enables us to do this simply whilst allowing the end user to plug in their desired logging framework at deployment time. Replacing the System.out.println() statements with SLF4J log statements directly results in the following code.<br />
view source</p>
<p><span style="background-color: #c0c0c0;">01    import org.junit.Test;<br />
02    import org.slf4j.Logger;<br />
03    import org.slf4j.LoggerFactory;<br />
04<br />
05    public class LoggingTest {<br />
06<br />
07      final Logger logger =<br />
08        LoggerFactory.getLogger(LoggingTest.class);<br />
09<br />
10      @Test<br />
11      public void testA() {<br />
12        logger.info(&#8220;testA being run&#8230;&#8221;);<br />
13      }<br />
14<br />
15      @Test<br />
16      public void testB() {<br />
17        logger.info(&#8220;testB being run&#8230;&#8221;);<br />
18      }<br />
19    }</span></p>
<p>Looking at the code it feels that the hard coded method name in the log statements would be better obtained using the @Rule TestName JUnit 4 class. This Rule makes the test name available inside method blocks. Replacing the hard coded string value with the TestName rule implementation results in the following updated code.</p>
<p><span style="background-color: #c0c0c0;">01    import org.junit.Rule;<br />
02    import org.junit.Test;<br />
03    import org.junit.rules.TestName;<br />
04    import org.slf4j.Logger;<br />
05    import org.slf4j.LoggerFactory;<br />
06<br />
07    public class LoggingTest {<br />
08<br />
09      @Rule public TestName name = new TestName();<br />
10<br />
11      final Logger logger =<br />
12        LoggerFactory.getLogger(LoggingTest.class);<br />
13<br />
14      @Test<br />
15      public void testA() {<br />
16        logger.info(name.getMethodName() + &#8221; being run&#8230;&#8221;);<br />
17      }<br />
18<br />
19      @Test<br />
20      public void testB() {<br />
21        logger.info(name.getMethodName() + &#8221; being run&#8230;&#8221;);<br />
22      }<br />
23    }</span></p>
<p>SLF4J offers an improved method to the log statement in the example above which provides faster logging. Use of parameterized messages enable SLF4J to evaluate whether or not to log the message at all. The message parameters will only be resolved if the message will be logged. According to the SLF4J manual this can provide an improvement of a factor of at least 30, in case of a disabled logging statement.</p>
<p>Updating the code to use SLF4J parameterized messages results in the following code.</p>
<p><span style="background-color: #c0c0c0;">01    import org.junit.Rule;<br />
02    import org.junit.Test;<br />
03    import org.junit.rules.TestName;<br />
04    import org.slf4j.Logger;<br />
05    import org.slf4j.LoggerFactory;<br />
06<br />
07    public class LoggingTest {<br />
08<br />
09      @Rule public TestName name = new TestName();<br />
10<br />
11      final Logger logger =<br />
12        LoggerFactory.getLogger(LoggingTest.class);<br />
13<br />
14      @Test<br />
15      public void testA() {<br />
16        logger.info(&#8220;{} being run&#8230;&#8221;, name.getMethodName());<br />
17      }<br />
18<br />
19      @Test<br />
20      public void testB() {<br />
21        logger.info(&#8220;{} being run&#8230;&#8221;, name.getMethodName());  }<br />
22      }<br />
23    }</span></p>
<p>Quite clearly the logging statements in this code don’t conform to the DRY principle.</p>
<p>Another JUnit 4 Rule implementation enables us to correct this issue. Using the TestWatchman we are able to create an implementation that overrides the starting(FrameworkMethod method) to provide the same functionality whilst maintaining the DRY principle. The TestWatchman Rule also enables developers to override methods invoked when the test finishes, fails or succeeds.</p>
<p>Using the TestWatchman Rule results in the following code.</p>
<p><span style="background-color: #c0c0c0;">01    import org.junit.Rule;<br />
02    import org.junit.Test;<br />
03    import org.junit.rules.MethodRule;<br />
04    import org.junit.rules.TestWatchman;<br />
05    import org.junit.runners.model.FrameworkMethod;<br />
06    import org.slf4j.Logger;<br />
07    import org.slf4j.LoggerFactory;<br />
08<br />
09    public class LoggingTest {<br />
10<br />
11      @Rule public MethodRule watchman = new TestWatchman() {<br />
12        public void starting(FrameworkMethod method) {<br />
13          logger.info(&#8220;{} being run&#8230;&#8221;, method.getName());<br />
14        }<br />
15      };<br />
16<br />
17      final Logger logger =<br />
18        LoggerFactory.getLogger(LoggingTest.class);<br />
19<br />
20      @Test<br />
21      public void testA() {<br />
22<br />
23      }<br />
24<br />
25      @Test<br />
26      public void testB() {<br />
27<br />
28      }<br />
29    }</span></p>
<p>And there you have it. A nice test code logging technique using JUnit 4 rules taking advantage of SLF4J parameterized messages.</p>
<p>I would be interested to hear from anyone using this or similar techniques based on JUnit 4 rules and SLF4J.</p>
<p>Reference: <a href="http://www.catosplace.net/" target="_blank" rel="noopener">http://www.catosplace.net/</a></p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/junit-4-test-logging-tips-using-slf4j/">JUnit 4 Test Logging Tips using SLF4J</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/junit-4-test-logging-tips-using-slf4j/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Why and how to use Jetty in mission-critical production</title>
		<link>https://www.scmgalaxy.com/tutorials/why-and-how-to-use-jetty-in-mission-critical-production/</link>
					<comments>https://www.scmgalaxy.com/tutorials/why-and-how-to-use-jetty-in-mission-critical-production/#comments</comments>
		
		<dc:creator><![CDATA[scmgalaxy K]]></dc:creator>
		<pubDate>Tue, 09 Mar 2010 13:19:46 +0000</pubDate>
				<category><![CDATA[App / Web Servers]]></category>
		<category><![CDATA[Application server]]></category>
		<category><![CDATA[Guide]]></category>
		<category><![CDATA[How To]]></category>
		<category><![CDATA[how to use Jetty]]></category>
		<category><![CDATA[How to use Jetty in Test environment]]></category>
		<category><![CDATA[Instruction]]></category>
		<category><![CDATA[Jetty]]></category>
		<category><![CDATA[Jetty advantages in Test environment]]></category>
		<category><![CDATA[mission-critical]]></category>
		<category><![CDATA[production]]></category>
		<category><![CDATA[Test environment]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Use]]></category>
		<category><![CDATA[Why]]></category>
		<category><![CDATA[Why Jetty]]></category>
		<category><![CDATA[Why use Jetty]]></category>
		<guid isPermaLink="false">http://www.scmgalaxy.com/tutorials/2010/03/09/why-and-how-to-use-jetty-in-mission-critical-production/</guid>

					<description><![CDATA[<p>This article is a summary of a seminar I had on the topic. If it seems like it’s a continuation [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/why-and-how-to-use-jetty-in-mission-critical-production/">Why and how to use Jetty in mission-critical production</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-4137 aligncenter" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2010/03/how-to-use-jetty.png" alt="how-to-use-jetty" width="600" height="400" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2010/03/how-to-use-jetty.png 600w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2010/03/how-to-use-jetty-300x200.png 300w" sizes="auto, (max-width: 600px) 100vw, 600px" /></p>
<p>This article is a summary of a seminar I had on the topic. If it seems like it’s a continuation of an existing discussion that’s because, to some extent, it is. If you haven’t been discussing exchanging your app server, this article probably isn’t very interesting to you.</p>
<p>By putting the application server inside my application instead of the other way around, I was able to leap tall buildings in a single bound.</p>
<p>The embedded application server</p>
<p>This is how I deploy <a href="http://svn.brodwall.com/demo/embedded-container/">my sample application</a> to a new test environment (or to production):</p>
<ol>
<li>mvn install</li>
<li>scp -server/target/-1.0.onejar.jar appuser@appserver:/home/appuser/test-env1/</li>
<li>ssh appuser@appserver “cd /home/appuser/test-env1/ &amp;&amp; java -jar -1.0.onejar.jar&amp;”</li>
</ol>
<p>This require no prior installed software on the appserver (with the exception of the JVM). It requires no prior configuration. Rolling back is a matter of replacing one jar-file with another. Clustering is a matter of deploying the same application several times.</p>
<p>In order to make this work in a real environment, there are a many details you as a developer need to take care of. As a matter of fact, you will have to take responsibility for your operational environment. The good news is that creating a good operational environment is not more time-consuming than trying to cope with the feed and care of a big-a Application Server.</p>
<p>In this scheme every application comes with its own application server in the form of jetty’s jar-files embedded in the deployed jar-file.</p>
<p>The advantages</p>
<p>Why would you want to do something like this?</p>
<ul>
<li><strong>Independent application</strong>: If you’ve ever been told that you can’t use Java 1.5 because that would require an upgrade of the application server. And if we upgrade the application server, that could affect someone else adversely. So we need to start a huge undertaking to find out who could possibly be affected.</li>
<li><strong>Developer managed libraries</strong>: Similar problems can occur with libraries. Especially those that come with the application server. For example: Oracle OC4J helpfully places a preview version of JPA 1.0 first in your classpath. If you want to use Hibernate with JPA 1.0-FINAL, it will mostly work. Until you try to use a annotation that was changed after the preview version (@Discriminator, for example). The general rule is: <em>If an API comes with your app server, you’re better served by staying away from it.</em> A rather bizarre state of affairs.</li>
<li><strong>Deployment, configuration and upgrades</strong>: Each version of the application, including all its dependencies is packaged into a single jar-file that can be deployed on several application server, or several times on the same application server (with different ports). The configuration is read from a properties-file in the current working directory. On the minus side, there’s no fancy web UI where you can step through a wizard to deploy the application or change the configuration. On the plus side, there is no fancy web UI …. If you’ve used one such web UI, you know what I mean.</li>
<li><strong>Continuous deployment</strong>: As your maven-repository will contain stand alone applications, creating a continuous deployment scheme is very easy. In my previous environment, a cron job running wget periodically was all that was needed to connect the dots. Having each server environment PULL the latest version gives a bit more flexibility if you want many test environments. (However, if you’re doing automated PUSH deployment, it’s probably just as practical for you).</li>
<li><strong>Same code in test and production</strong>: The fact that you can <a href="http://svn.brodwall.com/demo/embedded-container/embedded-container-web/src/test/java/no/steria/embeddedcontainer/web/HelloWebTest.java">start Jetty inside a plain old JUnit test</a> means that it is ideal for taking your automated tests one step further. However, if you test with Jetty and deploy on a different Application Server, the difference will occasionally trip you. It’s not a big deal. You have to test in the server environment anyway. But why not eliminate the extra source of pain if you can?</li>
<li><strong>Licenses</strong>: Sure, you can afford to pay a few million $ for an application server. You probably don’t have any better use for that money, anyway, right? However, if you have to pay licenses for each test-server in addition, it will probably mean that you will test less. We don’t want that.</li>
<li><strong>Operations</strong>: In my experience, operations people don’t like to mess around with the internals of an Application Server. An executable jar file plus a script that can be run with [start|status|stop] may be a much better match.</li>
</ul>
<p>The missing bits</p>
<p>Taking control of the application server takes away a lot of complex technology. This simplifies and makes a lot of stuff cheaper. It also puts you back in control of the environment. However, it forces you to think about some things that might’ve been solved for you before:</p>
<ul>
<li><strong>Monitoring</strong>: The first step of monitoring is simple: Just make sure you write to a log file that is being monitored by your operations department. The second step requires some work: Create a servlet (or a Jetty Handler) that a monitoring tool can ping to check that everything is okay. Taking control of this means that you can improve it: Check if your data sources can connect, if your file share is visible, if that service answers. Maybe add application-calibrated load reporting. Beyond that, Jetty has good JMX support, but I’ve never needed it myself.</li>
<li><strong>Load balancing</strong>: My setup supports no load balancing or failover out of the box. However, this is normally something that the web server or routers in front of the application server anyway. You might want to look into <a href="http://docs.codehaus.org/display/JETTY/Configuring+mod_proxy">Jetty’s options for session affinity</a>, if you need that.</li>
<li><strong>Security</strong>: Jetty supports JAAS, of course. Also: In all the environments I’ve been working with (CA SiteMinder, Sun OpenSSO, Oracle SSO), the SSO server sends the user name of the currently logged in user as an HTTP header. You can get far by just using that.</li>
<li><strong>Consistency</strong>: If you deploy more than one application as an embedded application server, the file structure used by an application (if any) should be standardized. As should the commands to start and stop the application. And the location of logs. Beyond that, reuse what you like, recreate what you don’t.</li>
</ul>
<p>Taking control of your destiny</p>
<p>Using an embedded application server means using the application server as a library instead of a framework. It means taking control of your “main” method. There’s a surprisingly small number of things you need to work out yourself. In exchange, you get the control to do many things that are impossible with a big-A Application Server.</p>
<p><strong>Reference:</strong> <a href="http://www.javaworld.com/community/?q=node/4133" target="_blank" rel="noopener">http://www.javaworld.com/community/</a></p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/why-and-how-to-use-jetty-in-mission-critical-production/">Why and how to use Jetty in mission-critical production</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/why-and-how-to-use-jetty-in-mission-critical-production/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Installation and Configuration Guide: Bamboo</title>
		<link>https://www.scmgalaxy.com/tutorials/installation-and-configuration-bamboo/</link>
					<comments>https://www.scmgalaxy.com/tutorials/installation-and-configuration-bamboo/#respond</comments>
		
		<dc:creator><![CDATA[scmgalaxy K]]></dc:creator>
		<pubDate>Thu, 25 Feb 2010 09:45:34 +0000</pubDate>
				<category><![CDATA[Configuration Management Tools]]></category>
		<category><![CDATA[Bamboo]]></category>
		<category><![CDATA[Bamboo Configuration]]></category>
		<category><![CDATA[Bamboo Configuration Guide]]></category>
		<category><![CDATA[Bamboo Configuration Tutorial]]></category>
		<category><![CDATA[Bamboo Installation]]></category>
		<category><![CDATA[Bamboo installation and Configuration process]]></category>
		<category><![CDATA[Bamboo Installation Guide]]></category>
		<category><![CDATA[Bamboo Installation Tutorial]]></category>
		<category><![CDATA[Bamboo Setup]]></category>
		<category><![CDATA[Bamboo Standalone Installation Process]]></category>
		<category><![CDATA[configure]]></category>
		<category><![CDATA[How to Configure Bamboo]]></category>
		<category><![CDATA[How to Install Bamboo]]></category>
		<category><![CDATA[Install]]></category>
		<category><![CDATA[Instruction]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[MAC]]></category>
		<category><![CDATA[Procedure]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[Reference]]></category>
		<category><![CDATA[Steps]]></category>
		<category><![CDATA[Windows]]></category>
		<guid isPermaLink="false">http://www.scmgalaxy.com/tutorials/2010/02/25/installation-and-configuration-bamboo/</guid>

					<description><![CDATA[<p>Bamboo is available in two &#8216;distributions&#8217; — Standalone or EAR-WAR. The Standalone distribution is recommended (even for organisations with an [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/installation-and-configuration-bamboo/">Installation and Configuration Guide: Bamboo</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-4159 aligncenter" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2010/02/bamboo-installation-and-con.png" alt="bamboo-installation-and-configuration" width="600" height="400" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2010/02/bamboo-installation-and-con.png 600w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2010/02/bamboo-installation-and-con-300x200.png 300w" sizes="auto, (max-width: 600px) 100vw, 600px" /></p>
<p>Bamboo is available in two &#8216;distributions&#8217; — Standalone or EAR-WAR. The Standalone distribution is recommended (even for organisations with an existing application server environment).<br />
<b>Standalone Installation Guide — Windows</b></p>
<h4>Download and Install Bamboo Standalone for Windows (Windows Installer)</h4>
<p>·  Download Bamboo Standalone for Windows. Bamboo Standalone for Windows is available for download from the <a href="http://www.atlassian.com/software/bamboo/BambooDownloadCenter.jspa">Bamboo Download Center</a>. Choose the <b>Windows Installer (.exe)</b> download.<br />
·  Launch the Bamboo Windows installer (atlassian-bamboo-x.x-standalone.exe) to begin the installation wizard.<br />
·  The installer requires you to specify two directories:<br />
<b>Bamboo installation directory</b> — This is the directory where Bamboo&#8217;s application files will be installed. The default is:<br />
C:/Program Files/Bamboo<br />
<b>Bamboo home directory</b> — This is the directory where Bamboo will store its configuration data. If the directory you specify doesn&#8217;t exist, Bamboo will create the directory when it launches. The default is:<br />
C:/Documents and Settings//Bamboo-home<br />
<b>Note:</b> You must use forward-slashes in your directory path. Backslashes are not recognised by Bamboo. Please ensure that the <b>Bamboo home directory</b> is not located inside the <b>Bamboo installation directory</b><b></b></p>
<h4>Download and Install Bamboo Standalone for Windows (ZIP Archive)</h4>
<p>·  Download Bamboo Standalone for Windows. Bamboo Standalone for Windows is available for download from the <a href="http://www.atlassian.com/software/bamboo/BambooDownloadCenter.jspa">Bamboo Download Center</a>. Choose the <b>ZIP Archive (.zip)</b> download (click the &#8216;<b>Show all</b>&#8216; link to show the &#8216;<b>ZIP Archive</b>&#8216; download link).<br />
·  Extract the files from the ZIP Archive (atlassian-bamboo-x.x-standalone.zip) to a <b>Bamboo installation directory</b> of your choice. By default, the root directory in your zip file is named &#8220;Bamboo&#8221;.<br />
·  Set up your <b>Bamboo home directory</b> — this is the directory where Bamboo will store its root configuration data. To do this, edit the file named bamboo-init.properties in the Bamboo/webapp/WEB-INF/classes directory. In this file, insert the property &#8220;bamboo.home&#8221;, with an absolute path to your Bamboo home directory. Your file should look something like this:</p>
<pre>    bamboo.home=C:/test/bamboo-home</pre>
<p>Alternatively, you can specify an environment variable &#8216;BAMBOO_HOME&#8217; which specifies the absolute path to your {BAMBOO_HOME} directory. Bamboo will check if an environment variable is defined.<br />
·  If you are going to use Bamboo remote agents, set the following in the bamboo-init.properties file in the /webapp/WEB-INF/classes directory:<br />
bamboo.jms.broker.uri=tcp://localhost:54663</p>
<ul type="disc">
<li>Replace &#8216;localhost&#8217; with the real host name or IP address of your Bamboo server.</li>
<li>If port number 54663 is already in use, specify a different port number.</li>
</ul>
<h2>Launch Bamboo</h2>
<p><b>Launch via the Start Menu</b><br />
If you have used the &#8216;Windows Installer&#8217; to install Bamboo, you can start Bamboo via the Start Menu in Windows (generally under the &#8216;Bamboo&#8217; folder by default). The following options will be available in your Start Menu:</p>
<ul type="disc">
<li>&#8216;<b>Bamboo Continuous Integration Server Uninstaller</b>&#8216; — uninstalls Bamboo from your computer</li>
<li>&#8216;<b>Install Service</b>&#8216; — installs Bamboo as a Windows service (note, this will not start Bamboo)</li>
<li>&#8216;<b>Remove Service</b>&#8216; — removes the Bamboo Windows service, if you have previously installed it (note, Bamboo will not be uninstalled from your computer)</li>
<li>&#8216;<b>Start in Console</b>&#8216; — starts Bamboo in a Windows console</li>
<li>&#8216;<b>Start Service</b>&#8216; — starts your installed Bamboo Windows service</li>
<li>&#8216;<b>Stop Service</b>&#8216; — stops your installed Bamboo Windows service</li>
</ul>
<p>You can run Bamboo in two modes, either in a Windows console or as a Windows service:</p>
<ul type="disc">
<li><b>To run Bamboo in a Windows console,</b> click the &#8216;<b>Start in Console</b>&#8216; option.</li>
<li><b>To run Bamboo as a Windows service,</b> click the &#8216;<b>Install service</b>&#8216; option. After the service is installed, click &#8216;<b>Start Service</b>&#8216;. Once you have installed Bamboo as a service, Bamboo will start up automatically every time Windows restarts.</li>
</ul>
<p><b>Launch via batch file</b><br />
You can start Bamboo via the batch files that are shipped with Bamboo. If you have installed Bamboo via the ZIP Archive, you will need to use the batch files to start Bamboo. You can find the following batch files in your installation directory:</p>
<ul type="disc">
<li>&#8216;<b>BambooConsole.bat</b>&#8216; — this starts Bamboo in a Windows console.</li>
<li>&#8216;<b>InstallAsService.bat</b>&#8216; — this installs Bamboo as a Windows service. Note that this will not start Bamboo.</li>
<li>&#8216;<b>StartBamboo.bat</b>&#8216; — this starts your installed Bamboo Windows service.</li>
<li>&#8216;<b>StopBamboo.bat</b>&#8216; — this stops your installed Bamboo Windows service</li>
<li>&#8216;<b>UninstallService.bat</b>&#8216; — this un-installs the Bamboo Windows service from your machine. Note that your Bamboo installation still remains.</li>
</ul>
<p>You can run Bamboo in two modes, either in a Windows console or as a Windows service:</p>
<ul type="disc">
<li><b>To run Bamboo in a Windows console,</b> run &#8216;<b>BambooConsole.bat</b>&#8216;</li>
<li><b>To run Bamboo as a Windows service,</b> run &#8216;<b>InstallAsService.bat</b>&#8216;. After the service is installed, run &#8216;<b>StartBamboo.bat</b>&#8216;. Once you have installed Bamboo as a service, Bamboo will start up automatically every time Windows restarts.</li>
</ul>
<h2>Configure Bamboo</h2>
<ol start="1" type="1">
<li>Access your running Bamboo instance by going to your web browser and entering the address: http://localhost:8085/.</li>
<li>Configure Bamboo via the Setup Wizard which will display. Read <a title="Running the Setup Wizard" href="http://confluence.atlassian.com/display/BAMBOO/Running+the+Setup+Wizard">Running the Setup Wizard</a> for further instructions.</li>
</ol>
<p>For more details on Installation and Configuration, please review following links<br />
<a href="http://confluence.atlassian.com/pages/viewpage.action?pageId=55246864">http://confluence.atlassian.com/pages/viewpage.action?pageId=55246864</a></p>
<ul type="disc">
<li><a title="Bamboo Installation Guide" href="http://confluence.atlassian.com/display/BAMBOO/Bamboo+Installation+Guide">Bamboo Installation Guide</a>
<ul type="circle">
<li><a title="Bamboo EAR-WAR Installation Guide" href="http://confluence.atlassian.com/display/BAMBOO/Bamboo+EAR-WAR+Installation+Guide">Bamboo EAR-WAR Installation Guide</a></li>
<li><a title="Bamboo Remote Agent Installation Guide" href="http://confluence.atlassian.com/display/BAMBOO/Bamboo+Remote+Agent+Installation+Guide">Bamboo Remote Agent Installation Guide</a></li>
<li><a title="Bamboo Standalone Installation Guide (Linux)" href="http://confluence.atlassian.com/display/BAMBOO/Bamboo+Standalone+Installation+Guide+%28Linux%29">Bamboo Standalone Installation Guide (Linux)</a></li>
<li><a title="Bamboo Standalone Installation Guide (Mac)" href="http://confluence.atlassian.com/display/BAMBOO/Bamboo+Standalone+Installation+Guide+%28Mac%29">Bamboo Standalone Installation Guide (Mac)</a></li>
<li><a title="Bamboo Standalone Installation Guide (Windows)" href="http://confluence.atlassian.com/display/BAMBOO/Bamboo+Standalone+Installation+Guide+%28Windows%29">Bamboo Standalone Installation Guide (Windows)</a></li>
<li><a title="Connecting Bamboo to an external database" href="http://confluence.atlassian.com/display/BAMBOO/Connecting+Bamboo+to+an+external+database">Connecting Bamboo to an external database</a></li>
<li><a title="Running the Setup Wizard" href="http://confluence.atlassian.com/display/BAMBOO/Running+the+Setup+Wizard">Running the Setup Wizard</a></li>
</ul>
</li>
</ul>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/installation-and-configuration-bamboo/">Installation and Configuration Guide: Bamboo</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/installation-and-configuration-bamboo/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How to copy VSS project from one VSS database to another one without loosing history</title>
		<link>https://www.scmgalaxy.com/tutorials/how-to-copy-vss-project-from-one-vss-database-to-another-one-without-loosing-history/</link>
					<comments>https://www.scmgalaxy.com/tutorials/how-to-copy-vss-project-from-one-vss-database-to-another-one-without-loosing-history/#respond</comments>
		
		<dc:creator><![CDATA[scmgalaxy K]]></dc:creator>
		<pubDate>Tue, 06 Oct 2009 11:45:33 +0000</pubDate>
				<category><![CDATA[VSS]]></category>
		<category><![CDATA[Copy]]></category>
		<category><![CDATA[Copy from VSS database to another with history]]></category>
		<category><![CDATA[Guide]]></category>
		<category><![CDATA[History]]></category>
		<category><![CDATA[How To]]></category>
		<category><![CDATA[Instruction]]></category>
		<category><![CDATA[Loss]]></category>
		<category><![CDATA[project copy one VSS database to another one with history]]></category>
		<category><![CDATA[Reference]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Visual Source Safe]]></category>
		<category><![CDATA[visual source safe Guide]]></category>
		<category><![CDATA[visual source safe tutorial]]></category>
		<category><![CDATA[VSS best practices]]></category>
		<category><![CDATA[VSS Database]]></category>
		<category><![CDATA[VSS database best practices]]></category>
		<category><![CDATA[VSS database copy with history]]></category>
		<category><![CDATA[VSS Project]]></category>
		<category><![CDATA[Without]]></category>
		<guid isPermaLink="false">http://www.scmgalaxy.com/tutorials/2009/10/06/how-to-copy-vss-project-from-one-vss-database-to-another-one-without-loosing-history/</guid>

					<description><![CDATA[<p>If you have any of the following questions in your mind, then this article is the perfect destination for you. [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/how-to-copy-vss-project-from-one-vss-database-to-another-one-without-loosing-history/">How to copy VSS project from one VSS database to another one without loosing history</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-4182" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2009/10/vss-project.png" alt="copy-vss-project-from-one-vss-database-to-another-one-without-loosing-history" width="600" height="400" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2009/10/vss-project.png 600w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2009/10/vss-project-300x200.png 300w" sizes="auto, (max-width: 600px) 100vw, 600px" /></p>
<p><b>If you have any of the following questions in your mind, then this article is the perfect destination for you.</b></p>
<ul>
<li>How to copy VSS project from one VSS database to another one without loosing history</li>
<li>How to move VSS project from one location to another location</li>
<li>Moving Visual SourceSafe projects or databases to a new location?</li>
<li>Moving a project or projects from one database to another, while preserving the project&#8217;s history?</li>
</ul>
<p>The procedures within each scenario may vary depending on the version of Visual SourceSafe you are running.</p>
<p><b>APPLIES TO</b></p>
<p>Microsoft Visual SourceSafe 5.0 Standard Edition</p>
<p>Microsoft Visual SourceSafe 6.0 Standard Edition</p>
<p>NOTE: This process is for Visual SourceSafe 5.0 or greater only.</p>
<p><b>Requirement:</b></p>
<p>1.   Use the SSARC and SSRESTOR utilities included in Visual SourceSafe 5.0. With these utilities, you can archive projects, preserve their histories, and restore them to a new database.</p>
<p>2.   You must have SourceSafe Admin privileges to use these utilities</p>
<p>3.   In order to restore a project successfully your archive must include the latest versions all the files in the project. If you use the -v switch with SSARC to archive off earlier versions of your files, you will not be able to restore that archive to a different database because it needs the later versions.</p>
<p>4.   Because the physical file names get renamed when you restore a project to a new database, it may be necessary to reconnect projects that are integrated with Visual SourceSafe.</p>
<p><b>Warning:</b></p>
<p>1.   always be very careful when archiving and deleting files</p>
<p>2.   Backing up source files is like voting, do it early and often (warning, this may not be legal in your jurisdiction).</p>
<p>3.   Test your backups out before you actually need them, avoid permanent deletes and keep copies in multiple locations.</p>
<p><b> </b></p>
<p><b>There are two ways to Archive and Restore Project/Files from one database to another.</b></p>
<p><b>To Archive:</b></p>
<p>1.   Using To archive a database using Visual SourceSafe Administrator</p>
<p>2.   SSARC</p>
<p><b>Archival of a database allows you to:</b></p>
<p>* Save disk space on the Visual SourceSafe server or other machine hosting the database.<br />
* Make the Show History command work more quickly.<br />
* Transport files and projects between Visual SourceSafe databases, keeping history information intact.<br />
* Provide a compressed file backing up all or part of a database.</p>
<p><b>How to Archive Visual SourceSafe (VSS) Project?</b></p>
<p><b>Method1: Using Visual SourceSafe Administrator:</b></p>
<p>The Visual SourceSafe Administrator program allows you to archive your databases using the Archive Projects command, and to restore them from backup using the Restore Projects command.</p>
<p><b>To archive a database using Visual SourceSafe Administrator:</b></p>
<p>1. Ensure that no one is using the database and that the ANALYZE utility will not run during the archive operation.<br />
2. Open the database for which you want to archive information.<br />
3. On the Archive menu of Visual SourceSafe Administrator, click Archive Projects.<br />
4. In the Archive wizard, select the project(s) to archive, and click OK.<br />
5. If there are additional projects to be archived, indicate this in step 1 of the wizard, and click Next when finished.<br />
6. In step 2 of the wizard, specify how you want the project(s) to be archived, and click Next when finished. For each choice, you can use Browse to search for and select an archived file to overwrite the existing file.<br />
7. In step 3 of the wizard, specify the versions for the data to archive, using the Version box.<br />
8. Add a comment to the Comment box to document the archive operation.<br />
9. Click Finish to complete the wizard. The archive is written to a *.ssa file in the directory that you have specified.</p>
<p><b>Method2: Using SSARC: &#8211;</b></p>
<p>Another way of making an archive is to use the Visual SourceSafe SSARC utility from the command line.<br />
Examples</p>
<p>SSARC -d- -yadmin,password archive.ssa $/<br />
Backup the entire default Sourcesafe database to archive.ssa, leaving the database exactly as it is.</p>
<p>SSARC -d- &#8220;-vlProduction Release&#8221; -yadmin,password -olog.txt archive.ssa $/Test</p>
<p>Backup everything since the version labelled &#8216;Production Release&#8217; and create a log file with the results of the archiving process.</p>
<p>SSARC -d -x -yadmin,password archive.ssa &#8220;$/Project Global Domination&#8221; $/OtherProject</p>
<p>Description:  Archive, and delete the deleted files from two projects.</p>
<p>SSARC -i -yadmin,password -olog.txt &#8220;-cArchive Everything&#8221; archive.ssa $/</p>
<p>Description:  Archive the entire Sourcesafe database, while creating a log file, adding a comment, and running non-interactively, suitable for a scheduled task.<br />
To Restore Project/Files from one database to another.</p>
<p><b>To Restore:</b></p>
<p>1.   Using To archive a database using Visual SourceSafe Administrator</p>
<p>2.   SSRESTOR</p>
<p>&nbsp;</p>
<p><b>How to Restore Visual SourceSafe(VSS)Project?</b></p>
<p><b>Method 1: Using Visual SourceSafe Administrator</b></p>
<p>Visual SourceSafe Administrator supports restoration of a database from an archive using its Restore Projects command.</p>
<p><b>To restore a database using Visual SourceSafe Administrator</b></p>
<p>1. Make sure that no one is using the database and that the ANALYZE utility will not run during the restore operation.<br />
2. On the Archive menu of Visual SourceSafe Administrator, click Restore Projects.<br />
3. In the Restore wizard, enter or locate the archive file from which to restore, and then click Next.<br />
4. In step 2 of the wizard, you can choose the items to restore to the database, and click Next to proceed.<br />
5. Use step 3 of the wizard to specify options for restoring the selected items to the database.<br />
6. Add a comment to the Comment box to document the restore operation.<br />
7. Click Finish to complete the wizard.<br />
8. Verify the database directories carefully to make sure that the restore operation has put the restored items where you intended.</p>
<p><b>Method 2: Using SSRESTOR Utility</b></p>
<p>Restores information from a previously created archive. If the restore operation attempts to create a duplicate file or project name, the operation fails. Visual SourcSafe also implements restore operations through its Restore wizard, available in Visual SourceSafe Administrator.<br />
Examples</p>
<p>SSRESTOR -la -yadmin,password archive.ssa $/</p>
<p>Display a list of all of the files archived in archive.ssa.</p>
<p>SSRESTOR &#8220;-p$/Test 2&#8221; -sD:\newfolder\ -yadmin,password backup.ssa $/Test</p>
<p>Restores project $/Test to the database to a new location, $/Test 2, from the archive file backup.ssa, in a different Sourcesafe database.</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/how-to-copy-vss-project-from-one-vss-database-to-another-one-without-loosing-history/">How to copy VSS project from one VSS database to another one without loosing history</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/how-to-copy-vss-project-from-one-vss-database-to-another-one-without-loosing-history/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ANT Builds and Subversion (SVN) &#124; Ant integration with Subversion guide</title>
		<link>https://www.scmgalaxy.com/tutorials/ant-builds-and-subversion-svn/</link>
					<comments>https://www.scmgalaxy.com/tutorials/ant-builds-and-subversion-svn/#respond</comments>
		
		<dc:creator><![CDATA[scmgalaxy K]]></dc:creator>
		<pubDate>Tue, 06 Oct 2009 10:51:27 +0000</pubDate>
				<category><![CDATA[Apache Ant]]></category>
		<category><![CDATA[SVN(Subversion)]]></category>
		<category><![CDATA[ANT]]></category>
		<category><![CDATA[Ant and SVN Integration]]></category>
		<category><![CDATA[ANT Builds]]></category>
		<category><![CDATA[Ant integration with Subversion]]></category>
		<category><![CDATA[Ant integration with Subversion Guide]]></category>
		<category><![CDATA[Ant integration with Subversion Tutorial]]></category>
		<category><![CDATA[ant svn export]]></category>
		<category><![CDATA[Build with ANT and SVN]]></category>
		<category><![CDATA[Builds]]></category>
		<category><![CDATA[How To]]></category>
		<category><![CDATA[Instruction]]></category>
		<category><![CDATA[Integration]]></category>
		<category><![CDATA[Pocess]]></category>
		<category><![CDATA[Steps]]></category>
		<category><![CDATA[Subversion]]></category>
		<category><![CDATA[SVN]]></category>
		<category><![CDATA[SVN Integration into ANT build]]></category>
		<category><![CDATA[SVN tasks on ANT]]></category>
		<category><![CDATA[SVNAnt]]></category>
		<category><![CDATA[svnant export command]]></category>
		<guid isPermaLink="false">http://www.scmgalaxy.com/tutorials/2009/10/06/ant-builds-and-subversion-svn/</guid>

					<description><![CDATA[<p>As I have mentioned in a previous blog entry, I have come to love using ANT in my development environment. [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/ant-builds-and-subversion-svn/">ANT Builds and Subversion (SVN) | Ant integration with Subversion guide</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-4077 aligncenter" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2009/10/ant-builds-and-subversion-s.png" alt="ant-builds-and-subversion" width="600" height="400" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2009/10/ant-builds-and-subversion-s.png 600w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2009/10/ant-builds-and-subversion-s-300x200.png 300w" sizes="auto, (max-width: 600px) 100vw, 600px" /></p>
<p>As I have mentioned in a previous blog entry, I have come to love using ANT in my development environment. One of the things that I like about it is how well it integrates with my Subversion repository using SVNAnt. If you are not using either ANT or Subversion, you owe it to yourself and your team to check it out.</p>
<p>Here we&#8217;ll go over a simple build script that exports application files from the Subversion repository into a local folder in the CFEclipse project. You can then view the following entry on how to ftp that into your production/staging server.<br />
First we need to make sure that your ANT install has the necessary SVNAnt jar files. You can download them here: <a href="http://subclipse.tigris.org/svnant.html" target="_blank" rel="noopener">http://subclipse.tigris.org/svnant.html</a>. Once you unpack the svnant-1.0.0.zip file, you&#8217;ll find three jar files: svnant.jar, svnClientAdapter.jar, svnjavahl.jar. Place them on your<br />
[ANTInstall]/lib* folder.</p>
<p>Once you have the jar files in place, you can define them in your build file&#8217;s property section like so:<br />
&lt;!&#8211; svnant lib &#8211;&gt;<br />
&lt;property name=&#8221;svnant.lib&#8221; value=&#8221;lib&#8221; /&gt;<br />
&lt;property name=&#8221;svnant.jar&#8221; value=&#8221;${svnant.lib}/svnant.jar&#8221; /&gt;<br />
&lt;property name=&#8221;svnClientAdapter.jar&#8221; value=&#8221;${svnant.lib}/svnClientAdapter.jar&#8221; /&gt;<br />
&lt;property name=&#8221;svnjavahl.jar&#8221; value=&#8221;${svnant.lib}/svnjavahl.jar&#8221; /&gt;<br />
Followed by this path definition after all your properties have been defined:</p>
<p>&lt;!&#8211; path to the svnant libraries. Usually they will be located in ANT_HOME/lib &#8211;&gt;<br />
&lt;path id=&#8221;project.classpath&#8221;&gt;<br />
&lt;pathelement location=&#8221;${svnjavahl.jar}&#8221; /&gt;<br />
&lt;pathelement location=&#8221;${svnant.jar}&#8221; /&gt;<br />
&lt;pathelement location=&#8221;${svnClientAdapter.jar}&#8221; /&gt;<br />
&lt;/path&gt;</p>
<p>Now all you have left to do is add the following task definition:<br />
&lt;!&#8211; load the svn task &#8211;&gt;<br />
&lt;taskdef resource=&#8221;svntask.properties&#8221; classpathref=&#8221;project.classpath&#8221;/&gt;</p>
<p>Now you are all set! You can now call tasks like the following export target:</p>
<p>&lt;!&#8211; define properties &#8211;&gt;<br />
&lt;!&#8211; svn repo url &#8211;&gt;<br />
&lt;property name=&#8221;svn.url&#8221; value=&#8221;http://[mysvnhost]/svn/repo/myprojectFiles/&#8221; /&gt;<br />
&lt;property name=&#8221;svn.exportPath&#8221; value=&#8221;[yourDirectory]:\\[pathToYourCFEclipseProject\\build&#8221; /&gt;</p>
<p>&lt;target name=&#8221;svn.export&#8221;&gt;<br />
&lt;echo message=&#8221;Exporting application files from svn repository:&#8221; /&gt;<br />
&lt;input message=&#8221;Please enter svn repo username:&#8221; addproperty=&#8221;svn.username&#8221; /&gt;<br />
&lt;input message=&#8221;Please enter svn repo password:&#8221; addproperty=&#8221;svn.password&#8221; /&gt;<br />
&lt;mkdir dir=&#8221;${svn.destPath}&#8221; /&gt;<br />
&lt;svn username=&#8221;${svn.username}&#8221; password=&#8221;${svn.password}&#8221;&gt;<br />
&lt;export srcUrl=&#8221;${svn.url}&#8221; destPath=&#8221;${svn.exportPath}&#8221; revision=&#8221;HEAD&#8221; /&gt;<br />
&lt;/svn&gt;<br />
&lt;echo message=&#8221; &#8230; finished exporting files.&#8221; /&gt;<br />
&lt;/target&gt;</p>
<p>That&#8217;s it. No more running command line tasks to get your subversion commands. For additional info and other SVN tasks you can go to <a href="http://subclipse.tigris.org/svnant/svn.html" target="_blank" rel="noopener">http://subclipse.tigris.org/svnant/svn.html</a></p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/ant-builds-and-subversion-svn/">ANT Builds and Subversion (SVN) | Ant integration with Subversion guide</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/ant-builds-and-subversion-svn/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How to run Remote Desktop Console by using command line?</title>
		<link>https://www.scmgalaxy.com/tutorials/how-to-run-remote-desktop-console-using-command-line/</link>
					<comments>https://www.scmgalaxy.com/tutorials/how-to-run-remote-desktop-console-using-command-line/#respond</comments>
		
		<dc:creator><![CDATA[scmgalaxy K]]></dc:creator>
		<pubDate>Sat, 20 Jun 2009 04:24:04 +0000</pubDate>
				<category><![CDATA[General]]></category>
		<category><![CDATA[command]]></category>
		<category><![CDATA[Command line]]></category>
		<category><![CDATA[command line for Remote Desktop]]></category>
		<category><![CDATA[Console]]></category>
		<category><![CDATA[Desktop]]></category>
		<category><![CDATA[Guide]]></category>
		<category><![CDATA[How]]></category>
		<category><![CDATA[How to run Remote Desktop by commands]]></category>
		<category><![CDATA[Instruction]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[RDP]]></category>
		<category><![CDATA[Remote]]></category>
		<category><![CDATA[Remote connection]]></category>
		<category><![CDATA[Remote Desktop Console]]></category>
		<category><![CDATA[Run]]></category>
		<category><![CDATA[Run command]]></category>
		<category><![CDATA[Run command for remote desktop]]></category>
		<category><![CDATA[Techniques]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Ways]]></category>
		<guid isPermaLink="false">http://www.scmgalaxy.com/tutorials/2009/06/20/how-to-run-remote-desktop-console-using-command-line/</guid>

					<description><![CDATA[<p>How to run Remote Desktop Console using command line If you may want to run Desktop Console from a batch [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/how-to-run-remote-desktop-console-using-command-line/">How to run Remote Desktop Console by using command line?</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-4006" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2009/06/desktop-console-using-comma.png" alt="" width="600" height="400" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2009/06/desktop-console-using-comma.png 600w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2009/06/desktop-console-using-comma-300x200.png 300w" sizes="auto, (max-width: 600px) 100vw, 600px" /></p>
<table border="0" width="100%">
<tbody>
<tr>
<td class="HEADING"><strong>How to run Remote Desktop Console using command line</strong></td>
</tr>
<tr>
<td class="HEADING_BODY">If you may want to run Desktop Console from a batch file, for example RDC over VPN, you can use mstsc /v:servername /console command.</p>
<p><strong>Mstsc</strong></p>
<p>Creates connections to terminal servers or other remote computers, edits an existing Remote Desktop Connection (.rdp) configuration file, and migrates legacy connection files that were created with Client Connection Manager to new .rdp connection files.</p>
<p><strong>Syntax</strong></p>
<p>mstsc.exe {ConnectionFile | /v:ServerName[:Port]} [/console] [/f] [/w:Width /h:Height]<br />
mstsc.exe /edit&#8221;ConnectionFile&#8221;<br />
mstsc.exe /migrate<br />
Parameters</p>
<p><strong>ConnectionFile</strong></p>
<p>Specifies the name of an .rdp file for the connection.<br />
/v:ServerName[:Port]<br />
Specifies the remote computer and, optionally, the port number to which you want to connect.</p>
<p><strong>/console</strong><br />
Connects to the console session of the specified Windows Server 2003 family operating system.</p>
<p><strong>/f</strong><br />
Starts Remote Desktop connection in full-screen mode.</p>
<p><strong>/w:Width /h:Height</strong><br />
Specifies the dimensions of the Remote Desktop screen.</p>
<p><strong>/edit&#8221;ConnectionFile&#8221;</strong><br />
Opens the specified .rdp file for editing.</p>
<p><strong>/migrate</strong><br />
Migrates legacy connection files that were created with Client Connection Manager to new .rdp connection files.</p>
<p><strong>Remarks</strong><br />
* You must be an administrator on the server to which you are connecting to create a remote console connection.<br />
* default.rdp is stored for each user as a hidden file in My Documents. User created .rdp files are stored by default in My Documents but can be moved anywhere.<br />
Examples</p>
<p>To connect to the console session of a server, type:<br />
mstsc /console</p>
<p>To open a file called filename.rdp for editing, type:<br />
mstsc /edit filename.rdp</td>
</tr>
</tbody>
</table>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/how-to-run-remote-desktop-console-using-command-line/">How to run Remote Desktop Console by using command line?</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/how-to-run-remote-desktop-console-using-command-line/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
