<?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>Configuration Archives - scmGalaxy</title>
	<atom:link href="https://www.scmgalaxy.com/tutorials/tag/configuration/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.scmgalaxy.com/tutorials/tag/configuration/</link>
	<description>A Platform for Software Engineers</description>
	<lastBuildDate>Sat, 21 Feb 2026 07:12:59 +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>Top 21 Tools for Configuration Management Tools in 2026</title>
		<link>https://www.scmgalaxy.com/tutorials/top-21-tools-for-configuration-management-tools-in-2025/</link>
					<comments>https://www.scmgalaxy.com/tutorials/top-21-tools-for-configuration-management-tools-in-2025/#respond</comments>
		
		<dc:creator><![CDATA[Vijay K]]></dc:creator>
		<pubDate>Sat, 08 Feb 2025 09:12:44 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[2025]]></category>
		<category><![CDATA[21]]></category>
		<category><![CDATA[Configuration]]></category>
		<category><![CDATA[Management]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Top]]></category>
		<guid isPermaLink="false">https://www.scmgalaxy.com/tutorials/?p=11823</guid>

					<description><![CDATA[<p>Configuration management tools are essential for automating the deployment, configuration, and management of systems, ensuring consistency and efficiency across IT [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/top-21-tools-for-configuration-management-tools-in-2025/">Top 21 Tools for Configuration Management Tools in 2026</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="1024" height="403" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2025/02/Configuration-management-tools-2x-1024x403.png" alt="" class="wp-image-11824" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2025/02/Configuration-management-tools-2x-1024x403.png 1024w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2025/02/Configuration-management-tools-2x-300x118.png 300w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2025/02/Configuration-management-tools-2x-768x302.png 768w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2025/02/Configuration-management-tools-2x-1536x605.png 1536w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2025/02/Configuration-management-tools-2x.png 1808w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">Configuration management tools are essential for automating the deployment, configuration, and management of systems, ensuring consistency and efficiency across IT infrastructures. Below is a comprehensive list of the top 21 configuration management tools, each highlighted with its major features to assist you in selecting the most suitable option for your needs:</p>



<h1 class="wp-block-heading">1. Ansible</h1>



<p class="wp-block-paragraph">Ansible is an open-source configuration management tool that uses a simple, human-readable language (YAML) for automation and configuration management. It operates without the need for agents, utilizing SSH for communication, which simplifies the setup process. Ansible is known for its ease of use and is suitable for managing configurations in environments ranging from small setups to large enterprises.</p>



<h1 class="wp-block-heading">2. Puppet</h1>



<p class="wp-block-paragraph">Puppet is a mature configuration management tool that uses a declarative language to manage infrastructure. It employs a model-driven approach and offers an extensive ecosystem of modules. Puppet provides enterprise-grade features like role-based access control and reporting, making it suitable for companies with complex infrastructures and a need for detailed compliance reporting. </p>



<h1 class="wp-block-heading">3. Chef</h1>



<p class="wp-block-paragraph">Chef is a configuration management tool that writes configuration policies using a Ruby-based Domain Specific Language (DSL). It offers both open-source and enterprise versions and is ideal for organizations with a code-centric approach to configuration management and infrastructure automation. Chef is known for its scalability and ability to handle complex infrastructures.</p>



<h1 class="wp-block-heading">4. SaltStack (Salt)</h1>



<p class="wp-block-paragraph">SaltStack provides event-driven automation for cloud operations and configuration management. It offers real-time configuration updates, high scalability and performance, and a powerful event-driven architecture. SaltStack is used by organizations needing real-time configuration management and event-driven automation.</p>



<h1 class="wp-block-heading">5. Terraform</h1>



<p class="wp-block-paragraph">Terraform by HashiCorp is an open-source tool for managing infrastructure as code using a declarative configuration language (HCL). It features a provider ecosystem for multi-cloud and on-premises environments, state management and versioning, and strong support for infrastructure provisioning. Terraform works well with other HashiCorp tools like Vault and Consul. </p>



<h1 class="wp-block-heading">6. CFEngine</h1>



<p class="wp-block-paragraph">CFEngine is a lightweight agent system that manages the configuration of a large number of computers using the client-server paradigm or stand-alone mode. It uses a declarative language to specify configuration states and is known for its high performance and scalability. CFEngine is suitable for organizations looking for a mature and efficient configuration management solution. </p>



<h1 class="wp-block-heading">7. Juju</h1>



<p class="wp-block-paragraph">Juju focuses on the notion of service, abstracting the concept of machines or servers, and defines relations between services that are automatically updated when linked services observe notable modifications. It is ideal for deploying, configuring, and managing applications in the cloud. </p>



<h1 class="wp-block-heading">8. Bcfg2</h1>



<p class="wp-block-paragraph">Bcfg2 is software designed to manage the configuration of a large number of computers using a central configuration model and the client-server paradigm. It enables reconciliation between clients&#8217; states and the central configuration specification, providing detailed reports to identify unmanaged configurations on hosts. Bcfg2 is suitable for environments that require strict configuration compliance and reporting. </p>



<h1 class="wp-block-heading">9. Otter</h1>



<p class="wp-block-paragraph">Otter by Inedo is a configuration management tool that provides both declarative and imperative approaches to managing infrastructure. It offers a web-based interface for visualizing and editing configurations and supports Windows PowerShell for scripting. Otter is particularly suitable for Windows-centric environments. </p>



<h1 class="wp-block-heading">10. Rudder</h1>



<p class="wp-block-paragraph">Rudder is an open-source, web-driven, role-based solution for IT infrastructure automation and compliance. It combines configuration management and continuous audit to ensure systems remain compliant over time. The rudder is ideal for organizations that require automated configuration enforcement with compliance reporting. </p>



<h1 class="wp-block-heading">11. PowerShell DSC</h1>



<p class="wp-block-paragraph">PowerShell Desired State Configuration (DSC) is a management platform in PowerShell that enables deploying and managing configuration data for software services and managing the environment in which these services run. It is particularly useful in Windows environments for maintaining consistent configurations across systems. </p>



<h1 class="wp-block-heading">12. Docker</h1>



<p class="wp-block-paragraph">Docker is a platform that uses containerization to deploy applications. It allows developers to package applications into containers—standardized executable components combining application source code with the operating system libraries and dependencies required to run that code in any environment. Docker is widely used for its efficiency in application deployment and environment consistency. </p>



<h1 class="wp-block-heading">13. Kubernetes</h1>



<p class="wp-block-paragraph">Kubernetes is an open-source platform designed to automate deploying, scaling, and operating application containers. It groups containers that make up an application into logical units for easy management and discovery. Kubernetes is ideal for managing complex containerized applications across clusters of hosts. </p>



<h1 class="wp-block-heading">14. Consul</h1>



<p class="wp-block-paragraph">Consul by HashiCorp is a tool for discovering and configuring services in your infrastructure. It provides service discovery, health checking, load balancing, and a globally distributed key-value store. Consul is suitable for dynamic, service-oriented architectures. </p>



<h1 class="wp-block-heading">15. StackStorm</h1>



<p class="wp-block-paragraph">StackStorm is an event-driven automation platform that helps connect various apps, services, and workflows. It allows users to automate complex workflows and integrates with numerous services and tools. StackStorm is ideal for organizations looking to automate their DevOps workflows and responses to events.</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/top-21-tools-for-configuration-management-tools-in-2025/">Top 21 Tools for Configuration Management Tools in 2026</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/top-21-tools-for-configuration-management-tools-in-2025/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>What are the next gen. projects in the Jira cloud?</title>
		<link>https://www.scmgalaxy.com/tutorials/what-are-the-next-gen-projects-in-the-jira-cloud/</link>
		
		<dc:creator><![CDATA[Ashwani Kumar]]></dc:creator>
		<pubDate>Mon, 17 Jan 2022 15:18:44 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Administrator]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Configuration]]></category>
		<category><![CDATA[Course]]></category>
		<category><![CDATA[Feature]]></category>
		<category><![CDATA[Jira]]></category>
		<category><![CDATA[Platforms]]></category>
		<category><![CDATA[project]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[Templates]]></category>
		<guid isPermaLink="false">https://www.scmgalaxy.com/tutorials/?p=9635</guid>

					<description><![CDATA[<p>Hi, my loving friends. Welcome to this course. In this article, I will explain to you about the next-gen project. [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/what-are-the-next-gen-projects-in-the-jira-cloud/">What are the next gen. projects in the Jira cloud?</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<div class="wp-block-image"><figure class="aligncenter size-full is-resized"><img decoding="async" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2022/01/Next-Gen-projects-1.jpg" alt="" class="wp-image-9637" width="715" height="401" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2022/01/Next-Gen-projects-1.jpg 960w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2022/01/Next-Gen-projects-1-300x169.jpg 300w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2022/01/Next-Gen-projects-1-768x432.jpg 768w" sizes="(max-width: 715px) 100vw, 715px" /></figure></div>



<p class="wp-block-paragraph">Hi, my loving friends. Welcome to this course. In this article, I will explain to you about the next-gen project. This is the new feature of Jira and atlas Sian introduced it in the year 2018 so, let’s have a look at the agenda of this content. In this, we will learn what are the next-gen projects, how to create next-gen projects? How can we create issues and add issue types in next-gen projects and how to configure the board? So. Let’ start.</p>



<h2 class="wp-block-heading">What are the next-gen projects?</h2>



<p class="wp-block-paragraph">Next-gen projects are the newest projects in Jira software and it is only available on the cloud platform to the server one. If you are using a server the server platform and you wouldn’t be able to sit. The third one is configured by project team members. Any team member with the project’s admin role can modify the setting of their next-gen projects. There is no need to take the help of the Jira <a href="https://www.devopsschool.com/">administrator</a> to add the issue types and to add some fields to your screen. The Fourth one is it is easier and faster to configure than classic projects. You can easily configure setting like issue types and fields with drag-and-drop editing and reordering all in a single place because the best part of next-gen projects is the ability to enable and disable the features and it allows you to scale your projects as your team grows and tailor your projects to your team changing needs so, this is the best thing in the next-gen projects. And before going forward, I would like to tell you one more thing like atlas Sian is building the next-gen Jira software from the ground up.</p>



<h2 class="wp-block-heading">How to create next-gen projects?</h2>



<p class="wp-block-paragraph"> So, it doesn’t yet have all the features that classic projects have. And they are a lot of differences between the next-gen and the classic projects like if I’m talking about the configurations then in the classic projects. We are able to share the configurations from one project to another. But in the next gen, you can’t share it. If you did some configurations for the particular projects in the next-gen, you wouldn’t be able to share that configuration with another project. And there are many more like estimations in the classic projects, you have the options, you can give the estimations in story point in your basis but in the next-gen, there is only one option is available and that is a story point. If you will go to the next-gen cloud instance and see how can you create the next-gen projects and configure them? There will be your cloud instance and you will create the next-gen projects from there. You will see that there will be two options are available one is classic and the other is next-gen. if that particular option is created out for you then this is the permission issue so, before creating the next-gen project. I would like to tell you about the permission so, once you will click on the Jira setting and go to the global permissions, there will be your global permission schema, and create next-gen project option will be there. At the time, you will have permission to create the next-gen project. You will click on the next-gen project and you will see the interface is similar to the classic.</p>



<p class="wp-block-paragraph">You can simply change the template from there but you will see only two templates are available one is scrum and another one is Kanban. If you will go with Kanban and name the project, you will see the access option (open, limited, private) and project key as a classic one. If you want to change the project key then you can do it there. You will go forward to clicking the create button then the next-gen project board will appear which would be similar to the classic one but what is the difference and how can you identify that this is the next-gen project but what will happen? If you will haven’t created it yet you didn’t create it. Maybe, you are using the project which is created by another one. You will see in the bottom line that you are in the next-gen project. You can find out and identify that you are using the next-gen project. You will see there are the options which are roadmap, board, pages, add an item, and project setting. A Roadmap is a good option which is given by the next-gen project. I will discuss this later in the course. I hope this will give you exact direction in the way of your Jira learning and about its next-gen project. So, you will stay tuned with this course for further next information regarding Jira next-gen project.</p>



<h4 class="wp-block-heading">Related Video:</h4>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe  id="_ytid_49761"  width="640" height="360"  data-origwidth="640" data-origheight="360" src="https://www.youtube.com/embed/iYMdvUqqfLI?enablejsapi=1&#038;autoplay=0&#038;cc_load_policy=0&#038;cc_lang_pref=&#038;iv_load_policy=1&#038;loop=0&#038;rel=1&#038;fs=1&#038;playsinline=0&#038;autohide=2&#038;theme=dark&#038;color=red&#038;controls=1&#038;disablekb=0&#038;" class="__youtube_prefs__  epyt-is-override  no-lazyload" title="YouTube player"  allow="fullscreen; accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen data-no-lazy="1" data-skipgform_ajax_framebjll=""></iframe>
</div></figure>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/what-are-the-next-gen-projects-in-the-jira-cloud/">What are the next gen. projects in the Jira cloud?</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Using Ant to build J2EE Applications</title>
		<link>https://www.scmgalaxy.com/tutorials/using-ant-to-build-j2ee-applications/</link>
					<comments>https://www.scmgalaxy.com/tutorials/using-ant-to-build-j2ee-applications/#respond</comments>
		
		<dc:creator><![CDATA[scmgalaxy K]]></dc:creator>
		<pubDate>Tue, 09 Jan 2018 21:26:12 +0000</pubDate>
				<category><![CDATA[Apache Ant]]></category>
		<category><![CDATA[Another Neat Tool]]></category>
		<category><![CDATA[ANT]]></category>
		<category><![CDATA[Build tool]]></category>
		<category><![CDATA[Configuration]]></category>
		<category><![CDATA[J2EE]]></category>
		<category><![CDATA[java]]></category>
		<guid isPermaLink="false">http://www.scmgalaxy.com/tutorials/?p=4792</guid>

					<description><![CDATA[<p>Apache Ant (Another Neat Tool) is a build tool, mainly for Java projects. A build tool can be used to automate [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/using-ant-to-build-j2ee-applications/">Using Ant to build J2EE Applications</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>Apache Ant</strong> (Another Neat Tool) is a build tool, mainly for Java projects. A build tool can be used to automate certain repetitive tasks, e.g. compiling source code, running software tests, creating jar files, javadocs, etc.</p>
<p>A build process typically includes:</p>
<div>
<ul>
<li>the compilation of the Java source code into Java bytecode</li>
<li>creation of the .jar file for the distribution of the code</li>
<li>creation of the Javadoc documentation</li>
</ul>
</div>
<p>Ant uses a xml file for its configuration. This file is usually called &#8220;build.xml&#8221;. Within this build file you specify the targets for ant. A target is a step which ant will perform. You also can specific dependencies. If target A depends on target B, ant will first do B and then A. Also you specify the main target. This target is the target ant will try to execute per default. If this target depends on other targets then ant will automatically perform these task first and so on and so on.</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/using-ant-to-build-j2ee-applications/">Using Ant to build J2EE Applications</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/using-ant-to-build-j2ee-applications/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>week4 &#8211; Common configuration data with data bags</title>
		<link>https://www.scmgalaxy.com/tutorials/week4-common-configuration-data-with-data-bags/</link>
					<comments>https://www.scmgalaxy.com/tutorials/week4-common-configuration-data-with-data-bags/#respond</comments>
		
		<dc:creator><![CDATA[scmgalaxy K]]></dc:creator>
		<pubDate>Tue, 09 Jan 2018 12:17:19 +0000</pubDate>
				<category><![CDATA[Chef]]></category>
		<category><![CDATA[Configuration]]></category>
		<category><![CDATA[Configuration data]]></category>
		<category><![CDATA[Data bags]]></category>
		<guid isPermaLink="false">http://www.scmgalaxy.com/tutorials/?p=4735</guid>

					<description><![CDATA[<p>week4 &#8211; Common configuration data with data bags week4 &#8211; Common configuration data with data bags</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/week4-common-configuration-data-with-data-bags/">week4 &#8211; Common configuration data with data bags</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>week4 &#8211; Common configuration data with data bags</p>
<p><strong><a href="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2018/01/week4-Common-configuration-data-with-data-bags.pdf">week4 &#8211; Common configuration data with data bags</a></strong></p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/week4-common-configuration-data-with-data-bags/">week4 &#8211; Common configuration data with data bags</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/week4-common-configuration-data-with-data-bags/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Perforce Server Installation and Configuration</title>
		<link>https://www.scmgalaxy.com/tutorials/perforce-server-installation-and-configuration-2/</link>
					<comments>https://www.scmgalaxy.com/tutorials/perforce-server-installation-and-configuration-2/#respond</comments>
		
		<dc:creator><![CDATA[scmgalaxy K]]></dc:creator>
		<pubDate>Mon, 08 Jan 2018 12:32:44 +0000</pubDate>
				<category><![CDATA[Perforce]]></category>
		<category><![CDATA[Configuration]]></category>
		<category><![CDATA[Perforce Server Installation]]></category>
		<category><![CDATA[Server Installation]]></category>
		<guid isPermaLink="false">http://www.scmgalaxy.com/tutorials/?p=4558</guid>

					<description><![CDATA[<p>p4d &#8211; Perforce Server p4 &#8211; Perforce Client p4win &#8211; Perforce Windows Client Install P4 Server in Unix Copy p4d [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/perforce-server-installation-and-configuration-2/">Perforce Server Installation and Configuration</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>p4d &#8211; Perforce Server<br />
p4 &#8211; Perforce Client<br />
p4win &#8211; Perforce Windows Client</p>
<p><strong>Install P4 Server in Unix</strong></p>
<ul>
<li>Copy p4d &amp; p4 in /usr/local/bin</li>
<li>Give permission such as chmod +x p4 &amp; chmod +xp4d</li>
<li>Create Perforce ROOT directory such as P4ROOT=/usr/local/p4_directory</li>
<li>Give permission to P4 root directory and sub directory</li>
<li>Tell perforce server to use which port such as P4PORT=servername:1666 or p4d -p 1666</li>
<li>Startting Server with Command Line Setup. p4d -r /usr/local/p4root -J /var/log/journal -L /var/log/p4err -p 1666 &amp;</li>
<li>Tellin perforce client to which port to listen such as p4_server_hostname:1666</li>
<li>Stopping Server e.g. p4 admin stop</li>
</ul>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/perforce-server-installation-and-configuration-2/">Perforce Server Installation and Configuration</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/perforce-server-installation-and-configuration-2/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Important Configuration Definitions</title>
		<link>https://www.scmgalaxy.com/tutorials/important-configuration-definitions/</link>
					<comments>https://www.scmgalaxy.com/tutorials/important-configuration-definitions/#respond</comments>
		
		<dc:creator><![CDATA[scmgalaxy K]]></dc:creator>
		<pubDate>Sat, 06 Jan 2018 10:24:24 +0000</pubDate>
				<category><![CDATA[Concept & Definition]]></category>
		<category><![CDATA[Branching]]></category>
		<category><![CDATA[Build]]></category>
		<category><![CDATA[Codeline]]></category>
		<category><![CDATA[Configuration]]></category>
		<category><![CDATA[Configuration Definitions]]></category>
		<category><![CDATA[Milestone]]></category>
		<category><![CDATA[Private build]]></category>
		<category><![CDATA[Snapshot]]></category>
		<category><![CDATA[source code]]></category>
		<guid isPermaLink="false">http://www.scmgalaxy.com/tutorials/?p=4472</guid>

					<description><![CDATA[<p>Source code— Files written in high-level languages such as C# that need to be compiled (for example, foo.cs). Source(s)— All [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/important-configuration-definitions/">Important Configuration Definitions</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[<ul>
<li><strong>Source code</strong>— Files written in high-level languages such as C# that need to be compiled (for example, foo.cs).</li>
<li><strong>Source(s)</strong>— All the files involved in building a product (for example, C, CPP, VB, DOC, HTM, H, and CS). This term is used mostly as a catch-all phrase that is specific not only to source code files but to all the files that are stored in version tracking systems.</li>
<li><strong>Codeline</strong>— A tree or branch of code that has a specific purpose, such as the mainline, release line, or hotfix line that grows collectively.</li>
<li><strong>Mainline or trunk </strong>(&#8220;The Golden Tree&#8221;)— <a id="iddle1037" name="iddle1037"></a><a id="iddle1107" name="iddle1107"></a><a id="iddle1252" name="iddle1252"></a><a id="iddle1266" name="iddle1266"></a><a id="iddle1365" name="iddle1365"></a><a id="iddle1424" name="iddle1424"></a><a id="iddle1503" name="iddle1503"></a><a id="iddle1526" name="iddle1526"></a><a id="iddle1570" name="iddle1570"></a><a id="iddle1624" name="iddle1624"></a><a id="iddle1744" name="iddle1744"></a>The main codeline of the product that contains the entire source code, document files, and anything else necessary to build and release the complete product.</li>
<li><strong>Snapshot</strong>— A specific point in time in which the sources and build are captured and stored, usually on a release or build machine.</li>
<li><strong>Milestone</strong>— A measurement of work items that includes a specified number of deliverables for a given project scheduled for a specified amount of time that are delivered, reviewed, and fixed to meet a high quality bar. The purpose of a milestone is to understand what is done, what is left to do, and how that fits with the given schedule and resources. To do this, the team must complete a portion of the project and review it to understand where the project is in the schedule and to reconcile what is not done with the rest of the schedule. A milestone is the best way to know how much time a portion of the project will take.</li>
<li><strong>Code freeze</strong>— A period when the automatic updates and build processes are stopped to take the final check-ins at a milestone.</li>
<li><strong>Public build</strong>— A build using the sources from the mainline or trunk.</li>
<li><strong>Private build </strong>(also referred to as a sandbox build)— A build using a project component tree to build more specific pieces of the product. This is usually done prior to checking in the code to the mainline.</li>
<li><strong>Branching</strong>— A superset of files off the mainline taken at a certain time (snapshot) that contains new developments for hotfixes or new versions. Each branch continues to grow independently or dependently on the mainline.</li>
<li><strong>Forking</strong>— Cloning a source tree to allow controlled changes on one tree while allowing the other tree to grow at its own rate. The difference between forking and branching is that forking involves two trees, whereas branching involves just one. It is also important to note that forking or cloning makes a copy (snapshot) of the tree and does not share the history between the two trees, whereas branching does share the history.</li>
<li><strong>Virtual Build Labs (VBLs)</strong>— A Virtual Build Lab is a build lab that is owned by a specific component or project team. The owner is responsible for propagating and integrating his code into the mainline or public build. Each VBL performs full builds and installable releases from the code in its source lines and the mainline. Although <a id="iddle1005" name="iddle1005"></a><a id="iddle1021" name="iddle1021"></a><a id="iddle1035" name="iddle1035"></a><a id="iddle1239" name="iddle1239"></a><a id="iddle1253" name="iddle1253"></a><a id="iddle1559" name="iddle1559"></a><a id="iddle1561" name="iddle1561"></a><a id="iddle1582" name="iddle1582"></a><a id="iddle1640" name="iddle1640"></a><a id="iddle1835" name="iddle1835"></a>the term virtual is used in the name of the labs, don&#8217;t confuse it with Virtual PC or Virtual Machines because the labs are real physical rooms and computer boxes. It is not recommended that you use Virtual software for build machines except possibly for an occasional one-off or hotfix build. , &#8220;The Build Lab and Personnel.&#8221; There is usually a hierarchy of VBLs so that code &#8220;rolls up&#8221; to the mainline or trunk. For example, let&#8217;s say that you have a mainline, Project A is a branch off of the mainline, and Developer 1 has a branch off the project branch. Developer 1 has several branches off his branch, with each branch representing a different component of the product. If he wants to integrate one of his branches into main, he should first merge his changes with all the levels above the branch to make sure he gets all the changes. Alternatively, he can just roll the changes into main, which sits higher in the hierarchy. This will become clearer in the next couple of pages.</li>
<li><strong>Reverse integration (RI)</strong>— The process of moving sources from one branch or tree to another that is higher in the VBL hierarchy.</li>
<li><strong>Forward integration (FI)</strong>— The process of moving sources from one branch or tree to another that is lower in the VBL hierarchy.</li>
<li><strong>Buddy build</strong>— A build performed on a machine other than the machine that the developer originally made changes on. This is done to validate the list of changed files so that there are no unintended consequences to the change in the mainline build.</li>
</ul>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/important-configuration-definitions/">Important Configuration Definitions</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/important-configuration-definitions/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Windows Installer Configuration EVERY TIME!!</title>
		<link>https://www.scmgalaxy.com/tutorials/windows-installer-configuration-every-time/</link>
					<comments>https://www.scmgalaxy.com/tutorials/windows-installer-configuration-every-time/#respond</comments>
		
		<dc:creator><![CDATA[scmgalaxy K]]></dc:creator>
		<pubDate>Sat, 02 Dec 2017 11:13:09 +0000</pubDate>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Configuration]]></category>
		<guid isPermaLink="false">http://www.scmgalaxy.com/tutorials/?p=1131</guid>

					<description><![CDATA[<p>InstallerExpert created the topic: Windows Installer Configuration EVERY TIME!! Ok, so I am sure this sounds pretty familiar. Every time [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/windows-installer-configuration-every-time/">Windows Installer Configuration EVERY TIME!!</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>InstallerExpert created the topic: Windows Installer Configuration EVERY TIME!!</strong><br />
Ok, so I am sure this sounds pretty familiar. Every time I open an office<br />
application, or an office document, I get a pop up of the windows installer<br />
and it starts running some mystery configuration process. I have tried<br />
uninstalling/reinstalling. I have tried repairing the registry permissions.<br />
I have ripped all office traces out by force and done a clean install. I<br />
have rebuilt the registry, modified it, added some conditional entries, but<br />
to no avail. I have done it in the user account, and the built in<br />
administrator account. I have done both custom and full installs. I have<br />
googled, forumed, knowledge-based, and done every other form of research you<br />
can imagine. I have found several &#8220;solutions&#8221; but none of them has worked.<br />
I am at an absolute loss for any possible cause for this problem, let alone<br />
how to fix it.</p>
<p>I&#8217;m running Office 2007, on a Dell Inspiron 1440 running Vista (32 bit) SP2.</p>
<p>Please help!</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/windows-installer-configuration-every-time/">Windows Installer Configuration EVERY TIME!!</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/windows-installer-configuration-every-time/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How to configure Sonatype Nexus repository with Maven?</title>
		<link>https://www.scmgalaxy.com/tutorials/how-to-configure-sonatype-nexus-repository-with-maven/</link>
					<comments>https://www.scmgalaxy.com/tutorials/how-to-configure-sonatype-nexus-repository-with-maven/#comments</comments>
		
		<dc:creator><![CDATA[scmgalaxy K]]></dc:creator>
		<pubDate>Sat, 29 Jul 2017 00:51:35 +0000</pubDate>
				<category><![CDATA[SonaType Nexus]]></category>
		<category><![CDATA[Configuration]]></category>
		<category><![CDATA[How]]></category>
		<category><![CDATA[Maven]]></category>
		<category><![CDATA[Repository]]></category>
		<category><![CDATA[Sonatype Nexus]]></category>
		<category><![CDATA[Sonatype Nexus Tutorials]]></category>
		<guid isPermaLink="false">http://www.scmgalaxy.com/tutorials/2017/07/29/how-to-configure-sonatype-nexus-repository-with-maven/</guid>

					<description><![CDATA[<p>How to configure Sonatype Nexus repository with Maven? &#160; Automatic dependencies is one of the powerful feature of Apache maven [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/how-to-configure-sonatype-nexus-repository-with-maven/">How to configure Sonatype Nexus repository with Maven?</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h3><img loading="lazy" decoding="async" class="size-full wp-image-2748 aligncenter" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2017/07/configure-sonatype-nexus-re.png" alt="configure-sonatype-nexus-repository-with-maven" width="600" height="400" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2017/07/configure-sonatype-nexus-re.png 600w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2017/07/configure-sonatype-nexus-re-300x200.png 300w" sizes="auto, (max-width: 600px) 100vw, 600px" /></h3>
<h3>How to configure Sonatype Nexus repository with Maven?</h3>
<div></div>
<p>&nbsp;</p>
<div>Automatic dependencies is one of the powerful feature of Apache maven and its one of the reason Maven is very popular in developer community. Maven resolve the dependent library from local repository which is again connected with central repository or remote repository. thus we can say that Maven has 3 kinds of repository concept.</div>
<p>&nbsp;</p>
<div>1. Local repostory e.g $USER_HOME/.m2</div>
<div>2. Central repostory e.g http://repo.maven.apache.org/maven2/</div>
<div>3. Private repostory e.g Sonatype Nexus, Artifactory, Archiva etc.</div>
<div></div>
<div>The diagram shown below represent how maven resolve the dependendency.</div>
<p>&nbsp;<br />
<strong>High Level Interaction between Local Repository, Central Repository and Remote Repository.</strong></p>
<p><img loading="lazy" decoding="async" class=" size-full wp-image-683" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2017/07/maven-nexus-repository-flow4.png" alt="" width="498" height="209" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2017/07/maven-nexus-repository-flow4.png 498w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2017/07/maven-nexus-repository-flow4-300x126.png 300w" sizes="auto, (max-width: 498px) 100vw, 498px" /><br />
<strong>Dependency Management using Local Repository, Central Repository and Remote Repository.<br />
<img loading="lazy" decoding="async" class=" size-full wp-image-684" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2017/07/maven-nexus-repository-flow5.png" alt="" width="892" height="428" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2017/07/maven-nexus-repository-flow5.png 1600w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2017/07/maven-nexus-repository-flow5-300x144.png 300w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2017/07/maven-nexus-repository-flow5-768x368.png 768w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2017/07/maven-nexus-repository-flow5-1024x491.png 1024w" sizes="auto, (max-width: 892px) 100vw, 892px" /><br />
This is How maven interact with Repository!</strong></p>
<p><img loading="lazy" decoding="async" class=" size-full wp-image-685" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2017/07/maven-nexus-repository-flow3.jpg" alt="" width="620" height="280" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2017/07/maven-nexus-repository-flow3.jpg 620w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2017/07/maven-nexus-repository-flow3-300x135.jpg 300w" sizes="auto, (max-width: 620px) 100vw, 620px" /><br />
<img loading="lazy" decoding="async" class=" size-full wp-image-686" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2017/07/maven-nexus-repository-flow2.jpg" alt="" width="456" height="270" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2017/07/maven-nexus-repository-flow2.jpg 456w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2017/07/maven-nexus-repository-flow2-300x178.jpg 300w" sizes="auto, (max-width: 456px) 100vw, 456px" /></p>
<h4>This is a diagram which shows the define flow in which maven try to resolve the dependency.</h4>
<p>&nbsp;<br />
<img loading="lazy" decoding="async" class=" size-full wp-image-687" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2017/07/maven-nexus-repository-flow1.png" alt="" width="656" height="487" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2017/07/maven-nexus-repository-flow1.png 656w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2017/07/maven-nexus-repository-flow1-300x223.png 300w" sizes="auto, (max-width: 656px) 100vw, 656px" /></p>
<h4>Now, We have understood that Central rrepository is in built but next questions is, How to inform the maven about the location of remote repository? In order to configure maven with remote repostory, in our case SonaType Nexus, we need to configuring host machine setting.xml and projects pom.xml to use your Nexus repos.</h4>
<p>&nbsp;</p>
<h4>Put this in your ~/.m2/settings.xml file. This will configure the credentials to publish to your hosted repos, and will tell your mvn to use your repo as a mirror of central:</h4>
<p><img loading="lazy" decoding="async" class=" size-full wp-image-688" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2017/07/maven-nexus-repository-flow6.jpg" alt="" width="594" height="622" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2017/07/maven-nexus-repository-flow6.jpg 594w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2017/07/maven-nexus-repository-flow6-286x300.jpg 286w" sizes="auto, (max-width: 594px) 100vw, 594px" /></p>
<h4>And now configure your projects.</h4>
<h4>If you want only to download dependencies from Nexus, put this in the pom.xml:</h4>
<p><img loading="lazy" decoding="async" class=" size-full wp-image-689" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2017/07/maven-nexus-repository-flow7.jpg" alt="" width="608" height="259" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2017/07/maven-nexus-repository-flow7.jpg 608w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2017/07/maven-nexus-repository-flow7-300x128.jpg 300w" sizes="auto, (max-width: 608px) 100vw, 608px" /></p>
<h4>and</h4>
<h4>Add the following at the end of setting.xml</h4>
<h4>&lt;activeProfiles&gt;</h4>
<h4>    &lt;!&#8211;make the profile active all the time &#8211;&gt;</h4>
<h4>    &lt;activeProfile&gt;nexus&lt;/activeProfile&gt;</h4>
<h4>  &lt;/activeProfiles&gt;</h4>
<p>&nbsp;</p>
<h4>Reference</h4>
<h4><a href="https://maven.apache.org/guides/mini/guide-mirror-settings.html" target="_blank" rel="noopener">https://maven.apache.org/guides/mini/guide-mirror-settings.html</a></h4>
<h4></h4>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/how-to-configure-sonatype-nexus-repository-with-maven/">How to configure Sonatype Nexus repository with Maven?</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-configure-sonatype-nexus-repository-with-maven/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Generate Jenkins Job Configuration Automatically &#124; Jenkins Tutorials</title>
		<link>https://www.scmgalaxy.com/tutorials/generate-jenkins-job-configuration-automatically/</link>
					<comments>https://www.scmgalaxy.com/tutorials/generate-jenkins-job-configuration-automatically/#comments</comments>
		
		<dc:creator><![CDATA[scmgalaxy K]]></dc:creator>
		<pubDate>Wed, 17 Aug 2016 16:41:11 +0000</pubDate>
				<category><![CDATA[Jenkins]]></category>
		<category><![CDATA[Automatically]]></category>
		<category><![CDATA[Configuration]]></category>
		<category><![CDATA[Generate]]></category>
		<category><![CDATA[Jenkins Job Builder]]></category>
		<category><![CDATA[Jenkins Job Configuration]]></category>
		<category><![CDATA[Jenkins Tutorials]]></category>
		<category><![CDATA[Job Generator]]></category>
		<guid isPermaLink="false">http://www.scmgalaxy.com/tutorials/2016/08/17/generate-jenkins-job-configuration-automatically/</guid>

					<description><![CDATA[<p>Generate Jenkins Job Configuration Automatically? Job DSL Plugin The job-dsl-plugin allows the programmatic creation of projects using a DSL. Pushing [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/generate-jenkins-job-configuration-automatically/">Generate Jenkins Job Configuration Automatically | Jenkins Tutorials</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div><img loading="lazy" decoding="async" class="alignnone size-full wp-image-2944 aligncenter" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2016/08/generate-jenkins-job-config.png" alt="generate-jenkins-job-configuration-automatically" width="600" height="400" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2016/08/generate-jenkins-job-config.png 600w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2016/08/generate-jenkins-job-config-300x200.png 300w" sizes="auto, (max-width: 600px) 100vw, 600px" /></div>
<div></div>
<div><strong>Generate Jenkins Job Configuration Automatically?</strong></div>
<div></div>
<div><strong>Job DSL Plugin</strong></div>
<div>The job-dsl-plugin allows the programmatic creation of projects using a DSL. Pushing job creation into a script allows you to automate and standardize your Jenkins installation, unlike anything possible before.</div>
<div>More &#8211;</div>
<div><a href="https://wiki.jenkins-ci.org/display/JENKINS/Job+DSL+Plugin" target="_blank" rel="noopener">https://wiki.jenkins-ci.org/display/JENKINS/Job+DSL+Plugin</a></div>
<div><a href="https://github.com/jenkinsci/job-dsl-plugin/wiki/Tutorial---Using-the-Jenkins-Job-DSL" target="_blank" rel="noopener">https://github.com/jenkinsci/job-dsl-plugin/wiki/Tutorial&#8212;Using-the-Jenkins-Job-DSL</a></div>
<div></div>
<div><strong>Multi-Branch Project Plugin</strong></div>
<div>This plugin adds additional project types that create sub-projects for each branch using a shared configuration.</div>
<div>More &#8211; <a href="https://wiki.jenkins-ci.org/display/JENKINS/Multi-Branch+Project+Plugin" target="_blank" rel="noopener">https://wiki.jenkins-ci.org/display/JENKINS/Multi-Branch+Project+Plugin</a></div>
<div></div>
<div><strong>Job Generator Plugin</strong></div>
<div>This plugin adds a new job type &#8220;Job Generator&#8221; which can generate new projects when executed.</div>
<div>More &#8211; <a href="https://wiki.jenkins-ci.org/display/JENKINS/Job+Generator+Plugin" target="_blank" rel="noopener">https://wiki.jenkins-ci.org/display/JENKINS/Job+Generator+Plugin</a></div>
<div></div>
<div><strong>Jenkins Job Builder</strong></div>
<div>Jenkins Job Builder takes simple descriptions of Jenkins jobs in YAML or JSON format and uses them to configure Jenkins. You can keep your job descriptions in human readable text format in a version control system to make changes and auditing easier. It also has a flexible template system, so creating many similarly configured jobs is easy.</div>
<div></div>
<div>More &#8211;</div>
<div><a href="http://docs.openstack.org/infra/jenkins-job-builder/" target="_blank" rel="noopener">http://docs.openstack.org/infra/jenkins-job-builder/</a></div>
<div><a href="https://www.slalom.com/thinking/automatically-generating-jenkins-jobs" target="_blank" rel="noopener">https://www.slalom.com/thinking/automatically-generating-jenkins-jobs</a></div>
<div></div>
<div><strong>Generating New Jenkins Jobs From Templates and Parameterised Builds</strong></div>
<div>We use Jenkins to run our builds in a continuously. This is great, but you still have to do a fair bit of configuration each time you set up a new job. If you have a fairly static set of builds this isn’t a problem. We found ourselves in a situation where we had to create a lot of very similar builds quite regularly. Creating a new job by hand and manually changing the 10 or so tiny little things in each build is a pain and error prone. So…automate that too!</div>
<div></div>
<div>More</div>
<div><a href="http://www.blackpepper.co.uk/generating-new-jenkins-jobs-from-templates-and-parameterised-builds/" target="_blank" rel="noopener">http://www.blackpepper.co.uk/generating-new-jenkins-jobs-from-templates-and-parameterised-builds/</a></div>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/generate-jenkins-job-configuration-automatically/">Generate Jenkins Job Configuration Automatically | Jenkins Tutorials</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/generate-jenkins-job-configuration-automatically/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Top 25 Chef configuration management interview questions and answers</title>
		<link>https://www.scmgalaxy.com/tutorials/chef-configuration-management-interview-questions-and-answers/</link>
					<comments>https://www.scmgalaxy.com/tutorials/chef-configuration-management-interview-questions-and-answers/#respond</comments>
		
		<dc:creator><![CDATA[scmgalaxy K]]></dc:creator>
		<pubDate>Wed, 02 Sep 2015 14:34:19 +0000</pubDate>
				<category><![CDATA[Interview Questions & Answers]]></category>
		<category><![CDATA[Answers]]></category>
		<category><![CDATA[Best]]></category>
		<category><![CDATA[Chef]]></category>
		<category><![CDATA[Chef Configuration Management Interview]]></category>
		<category><![CDATA[Chef Interview]]></category>
		<category><![CDATA[Chef Interview Q&A]]></category>
		<category><![CDATA[Chef Interview questions and answers]]></category>
		<category><![CDATA[Configuration]]></category>
		<category><![CDATA[Configuration Management]]></category>
		<category><![CDATA[Interview]]></category>
		<category><![CDATA[list]]></category>
		<category><![CDATA[List of chef Interview questions and answers]]></category>
		<category><![CDATA[Management]]></category>
		<category><![CDATA[Questions]]></category>
		<category><![CDATA[Top]]></category>
		<category><![CDATA[Top chef Interview questions and answers]]></category>
		<guid isPermaLink="false">http://www.scmgalaxy.com/tutorials/2015/09/02/chef-configuration-management-interview-questions-and-answers/</guid>

					<description><![CDATA[<p>Source &#8211; learn.chef.io What is a resource? Answer- A resource represents a piece of infrastructure and its desired state, such [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/chef-configuration-management-interview-questions-and-answers/">Top 25 Chef configuration management interview questions and answers</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-3372" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2015/09/chef-interview-questions-an.png" alt="chef-interview-questions-and-answers" width="600" height="400" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2015/09/chef-interview-questions-an.png 600w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2015/09/chef-interview-questions-an-300x200.png 300w" sizes="auto, (max-width: 600px) 100vw, 600px" /></p>
<p><strong>Source &#8211; <a href="http://learn.chef.io">learn.chef.io</a></strong></p>
<p><strong>What is a resource?</strong><br />
<strong>Answer-</strong> A resource represents a piece of infrastructure and its desired state, such as a package that should be installed, a service that should be running, or a file that should be generated.</p>
<p><strong>Question: What is a recipe?</strong><br />
<strong>Answer- </strong>A recipe is a collection of resources that describes a particular configuration or policy. A recipe describes everything that is required to configure part of a system. Recipes do things such as:</p>
<p>install and configure software components.<br />
manage files.<br />
deploy applications.<br />
execute other recipes.</p>
<p><strong>Question: What happens when you don&#8217;t specify a resource&#8217;s action?</strong><br />
<strong>Answer- </strong>When you don&#8217;t specify a resource&#8217;s action, Chef applies the default action.</p>
<p><strong>Question: Are these two recipes the same?</strong></p>
<pre>package 'httpd'</pre>
<pre>service 'httpd' do    action [:enable, :start]  end</pre>
<p>&amp;&amp;</p>
<pre>service 'httpd' do    action [:enable, :start]    end</pre>
<pre>package 'httpd'</pre>
<p><strong>Answer-</strong><br />
No, they are not. Remember that Chef applies resources in the order they appear. So the first recipe ensures that the httpd package is installed and then configures the service. The second recipe configures the service and then ensures the package is installed.</p>
<p><strong>Question: The second recipe may not work as you&#8217;d expect because the service resource will fail if the package is not yet installed.</strong></p>
<p>Are these two recipes the same?</p>
<pre>package 'httpd'</pre>
<pre>service 'httpd' do    action [:enable, :start]    end</pre>
<pre>package 'httpd'</pre>
<pre>service 'httpd' do    action [:start, :enable]    end</pre>
<p><strong>Answer- </strong><br />
No, they are not. Although both recipes ensure that the httpd package is installed before configuring its service, the first recipe enables the service when the system boots and then starts it. The second recipe starts the service and then enables it to start on reboot.</p>
<p><strong>Are these two recipes the same?</strong></p>
<p>file &#8216;/etc/motd&#8217; do<br />
owner &#8216;root&#8217;<br />
group &#8216;root&#8217;<br />
mode &#8216;0755&#8217;<br />
action :create<br />
end</p>
<p>file &#8216;/etc/motd&#8217; do<br />
action :create<br />
mode &#8216;0755&#8217;<br />
group &#8216;root&#8217;<br />
owner &#8216;root&#8217;<br />
end</p>
<p><strong>Answer- </strong><br />
Yes, they are! Order matters with a lot of things in Chef, but you can order resource attributes any way you want.</p>
<p><strong>Question &#8211; </strong><br />
Write a service resource that stops and then disables the httpd service from starting when the system boots.</p>
<p><strong>Answer &#8211;</strong><br />
service &#8216;httpd&#8217; do<br />
action [:stop, :disable]<br />
end</p>
<p><strong>How does a cookbook differ from a recipe?</strong><br />
A recipe is a collection of resources, and typically configures a software package or some piece of infrastructure. A cookbook groups together recipes and other information in a way that is more manageable than having just recipes alone.</p>
<p>For example, in this lesson you used a template resource to manage your HTML home page from an external file. The recipe stated the configuration policy for your web site, and the template file contained the data. You used a cookbook to package both parts up into a single unit that you can later deploy.</p>
<p><strong>How does chef-apply differ from chef-client?</strong></p>
<p>chef-apply applies a single recipe; chef-client applies a cookbook.</p>
<p>For learning purposes, we had you start off with chef-apply because it helps you understand the basics quickly. In practice, chef-apply is useful when you want to quickly test something out. But for production purposes, you typically run chef-client to apply one or more cookbooks.</p>
<p>You&#8217;ll learn in the next module how to run chef-client remotely from your workstation.</p>
<p><strong>What&#8217;s the run-list?</strong></p>
<p>The run-list lets you specify which recipes to run, and the order in which to run them. The run-list is important for when you have multiple cookbooks, and the order in which they run matters.</p>
<p><strong>What are the two ways to set up a Chef server?</strong></p>
<p>Install an instance on your own infrastructure.<br />
Use hosted Chef.</p>
<p><strong>What&#8217;s the role of the Starter Kit?</strong><br />
The Starter Kit provides certificates and other files that enable you to securely communicate with the Chef server.</p>
<p><strong>Where can you get reusable cookbooks that are written and maintained by the Chef community?</strong><br />
Chef Supermarket, https://supermarket.chef.io.</p>
<p><strong>What&#8217;s the command that enables you to interact with the Chef server?</strong><br />
knife</p>
<p><strong>What is a node?</strong><br />
A node represents a server and is typically a virtual machine, container instance, or physical server – basically any compute resource in your infrastructure that&#8217;s managed by Chef.</p>
<p><strong>What information do you need to in order to bootstrap?</strong><br />
You need:</p>
<p>your node&#8217;s host name or public IP address.<br />
a user name and password you can log on to your node with.<br />
Alternatively, you can use key-based authentication instead of providing a user name and password.</p>
<p><strong>What happens during the bootstrap process?</strong><br />
During the bootstrap process, the node downloads and installs chef-client, registers itself with the Chef server, and does an initial checkin. During this checkin, the node applies any cookbooks that are part of its run-list.</p>
<p><strong>Which of the following lets you verify that your node has successfully bootstrapped?</strong></p>
<p>The Chef management console.<br />
knife node list<br />
knife node show<br />
You can use all three of these methods.</p>
<p><strong>What is the command you use to upload a cookbook to the Chef server?</strong><br />
knife cookbook upload</p>
<p><strong>How do you apply an updated cookbook to your node?</strong><br />
We mentioned two ways.</p>
<p>Run knife ssh from your workstation.<br />
SSH directly into your server and run chef-client.<br />
You can also run chef-client as a daemon, or service, to check in with the Chef server on a regular interval, say every 15 or 30 minutes.</p>
<p>Update your Apache cookbook to display your node&#8217;s host name, platform, total installed memory, and number of CPUs in addition to its FQDN on the home page.</p>
<p>Update index.html.erb like this.<br />
&lt;html&gt;<br />
&lt;body&gt;<br />
&lt;h1&gt;hello from &lt;%= node[&#8216;fqdn&#8217;] %&gt;&lt;/h1&gt;</p>
<p>&lt;pre&gt;<br />
&lt;%= node[&#8216;hostname&#8217;] %&gt;<br />
&lt;%= node[&#8216;platform&#8217;] %&gt; &#8211; &lt;%= node[&#8216;platform_version&#8217;] %&gt;<br />
&lt;%= node[&#8216;memory&#8217;][&#8216;total&#8217;] %&gt; RAM<br />
&lt;%= node[&#8216;cpu&#8217;][&#8216;total&#8217;] %&gt; CPUs<br />
&lt;/pre&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</p>
<p>Then upload your cookbook and run it on your node.</p>
<p><strong>What would you set your cookbook&#8217;s version to once it&#8217;s ready to use in production?</strong></p>
<p>According to Semantic Versioning, you should set your cookbook&#8217;s version number to 1.0.0 at the point it&#8217;s ready to use in production.</p>
<p><strong>What is the latest version of the haproxy community cookbook?</strong></p>
<p>To know the latest version of any cookbook on Chef Supermarket, browse to its page and view the latest version from the version selection box.</p>
<p>Or, get the info from the knife cookbook site command, like this.</p>
<p>knife cookbook site show haproxy | grep latest_version<br />
latest_version: http://cookbooks.opscode.com/api/v1/cookbooks/haproxy/versions/1.6.6</p>
<p><strong>Create a second node and apply the awesome_customers cookbook to it. How long does it take?</strong></p>
<p>You already accomplished the majority of the tasks that you need. You wrote the awesome_customers cookbook, uploaded it and its dependent cookbooks to the Chef server, applied the awesome_customers cookbook to your node, and verified that everything&#8217;s working.</p>
<p>All you need to do now is:</p>
<p>Bring up a second Red Hat Enterprise Linux or CentOS node.<br />
Copy your secret key file to your second node.<br />
Bootstrap your node the same way as before. Because you include the awesome_customers cookbook in your run-list, your node will apply that cookbook during the bootstrap process.<br />
The result is a second node that&#8217;s configured identically to the first one. The process should take far less time because you already did most of the work.</p>
<p>Now when you fix an issue or add a new feature, you&#8217;ll be able to deploy and verify your update much more quickly!</p>
<p><strong>What&#8217;s the value of local development using Test Kitchen?</strong></p>
<p>Local development with Test Kitchen:</p>
<p>enables you to use a variety of virtualization providers that create virtual machine or container instances locally on your workstation or in the cloud.<br />
enables you to run your cookbooks on servers that resemble those that you use in production.<br />
speeds up the development cycle by automatically provisioning and tearing down temporary instances, resolving cookbook dependencies, and applying your cookbooks to your instances.</p>
<p><strong>What is VirtualBox? What is Vagrant?</strong></p>
<p>VirtualBox is the software that manages your virtual machine instances.</p>
<p>Vagrant helps Test Kitchen communicate with VirtualBox and configures things like available memory and network settings.</p>
<p>Verify that your motd cookbook runs on both CentOS 6.6 and CentOS 6.5.</p>
<p>Your motd cookbook is already configured to work on CentOS 6.6 as well as CentOS 6.5, so you don&#8217;t need to modify it.</p>
<p>To run it on CentOS 6.5, add an entry to the platforms section of your .kitchen.yml file like this.</p>
<pre>---       driver:       name: vagrant</pre>
<pre>provisioner:       name: chef_zero</pre>
<pre>platforms:       - name: centos-6.6       driver:       box: opscode-centos-6.6       box_url: http://opscode-vm-bento.s3.amazonaws.com/vagrant/virtualbox/opscode_centos-6.6_chef-provisionerless.box       - name: centos-6.5       driver:       box: opscode-centos-6.5       box_url: http://opscode-vm-bento.s3.amazonaws.com/vagrant/virtualbox/opscode_centos-6.5_chef-provisionerless.box</pre>
<pre>suites:       - name: default       run_list:       - recipe[motd::default]       attributes:</pre>
<p>In many cases, Test Kitchen can infer the box and box_url parameters, which specify the name and location of the base image, or box. We specify them here to show you how to use them.</p>
<p>Run kitchen list to see the matrix of test instances that are available. Here, we have two platforms – CentOS 6.5 and CentOS 6.6 – multiplied by one suite – default.</p>
<p>$kitchen list</p>
<pre>Instance           Driver   Provisioner  Verifier  Transport  Last Action default-centos-66  Vagrant  ChefZero     Busser    Ssh        &lt;Not Created&gt; default-centos-65  Vagrant  ChefZero     Busser    Ssh        &lt;Not Created&gt;</pre>
<p>Run kitchen converge to create the instances and apply the motd cookbook.</p>
<pre>$kitchen converge    -----&gt; Starting Kitchen (v1.4.0)    -----&gt; Creating &lt;default-centos-66&gt;...    Bringing machine 'default' up with 'virtualbox' provider...    [...]    Running handlers:    Running handlers complete    Chef Client finished, 1/1 resources updated in 10.372334751 seconds    Finished converging &lt;default-centos-66&gt; (3m52.59s).    -----&gt; Creating &lt;default-centos-65&gt;...    Bringing machine 'default' up with 'virtualbox' provider...    [...]    Running handlers:    Running handlers complete    Chef Client finished, 1/1 resources updated in 5.32753132 seconds    Finished converging &lt;default-centos-65&gt; (10m12.63s).  -----&gt; Kitchen is finished. (19m47.71s)</pre>
<p>Now to confirm that everything&#8217;s working, run kitchen login. But this time, you need to provide the instance name so that Test Kitchen knows which instance to connect to.</p>
<pre>$kitchen login default-centos-66       Last login: Wed May 13 20:15:00 2015 from 10.0.2.2              hostname:  default-centos-66       fqdn:      default-centos-66       memory:    469392kB       cpu count: 1       [vagrant@default-centos-66 ~]$ logout       Connection to 127.0.0.1 closed.$kitchen login default-centos-65       Last login: Wed May 13 20:28:18 2015 from 10.0.2.2              hostname:  default-centos-65       fqdn:      default-centos-65       memory:    469452kB       cpu count: 1       [vagrant@default-centos-65 ~]$ logout       Connection to 127.0.0.1 closed.</pre>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/chef-configuration-management-interview-questions-and-answers/">Top 25 Chef configuration management interview questions and answers</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/chef-configuration-management-interview-questions-and-answers/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Chef configuration management interview questions and answers &#124; Chef Interview Q&#038;A</title>
		<link>https://www.scmgalaxy.com/tutorials/chef-configuration-management-interview-questions-and-answers-2/</link>
					<comments>https://www.scmgalaxy.com/tutorials/chef-configuration-management-interview-questions-and-answers-2/#respond</comments>
		
		<dc:creator><![CDATA[scmgalaxy K]]></dc:creator>
		<pubDate>Wed, 02 Sep 2015 14:34:19 +0000</pubDate>
				<category><![CDATA[Interview Questions & Answers]]></category>
		<category><![CDATA[Answers]]></category>
		<category><![CDATA[Best]]></category>
		<category><![CDATA[Chef]]></category>
		<category><![CDATA[Chef Configuration Management Interview]]></category>
		<category><![CDATA[Chef Interview]]></category>
		<category><![CDATA[Chef Interview Q&A]]></category>
		<category><![CDATA[Chef Interview questions and answers]]></category>
		<category><![CDATA[Configuration]]></category>
		<category><![CDATA[Configuration Management]]></category>
		<category><![CDATA[Interview]]></category>
		<category><![CDATA[list]]></category>
		<category><![CDATA[List of chef Interview questions and answers]]></category>
		<category><![CDATA[Management]]></category>
		<category><![CDATA[Questions]]></category>
		<category><![CDATA[Top]]></category>
		<category><![CDATA[Top chef Interview questions and answers]]></category>
		<guid isPermaLink="false">http://www.scmgalaxy.com/tutorials/2015/09/02/chef-configuration-management-interview-questions-and-answers-2/</guid>

					<description><![CDATA[<p>Source &#8211; learn.chef.io What is a resource? Answer- A resource represents a piece of infrastructure and its desired state, such [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/chef-configuration-management-interview-questions-and-answers-2/">Chef configuration management interview questions and answers | Chef Interview Q&#038;A</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-3372 aligncenter" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2015/09/chef-interview-questions-an.png" alt="chef-interview-questions-and-answers" width="600" height="400" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2015/09/chef-interview-questions-an.png 600w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2015/09/chef-interview-questions-an-300x200.png 300w" sizes="auto, (max-width: 600px) 100vw, 600px" /></p>
<p><strong>Source &#8211; <a href="http://learn.chef.io" target="_blank" rel="noopener">learn.chef.io</a></strong></p>
<p><strong>What is a resource?</strong><br />
<strong>Answer-</strong> A resource represents a piece of infrastructure and its desired state, such as a package that should be installed, a service that should be running, or a file that should be generated.</p>
<p><strong>Question: What is a recipe?</strong><br />
<strong>Answer- </strong>A recipe is a collection of resources that describes a particular configuration or policy. A recipe describes everything that is required to configure part of a system. Recipes do things such as:</p>
<p>install and configure software components.<br />
manage files.<br />
deploy applications.<br />
execute other recipes.</p>
<p><strong>Question: What happens when you don&#8217;t specify a resource&#8217;s action?</strong><br />
<strong>Answer- </strong>When you don&#8217;t specify a resource&#8217;s action, Chef applies the default action.</p>
<p><strong>Question: Are these two recipes the same?</strong></p>
<pre>package 'httpd'</pre>
<pre>service 'httpd' do    action [:enable, :start]  end</pre>
<p>&amp;&amp;</p>
<pre>service 'httpd' do    action [:enable, :start]    end</pre>
<pre>package 'httpd'</pre>
<p><strong>Answer-</strong><br />
No, they are not. Remember that Chef applies resources in the order they appear. So the first recipe ensures that the httpd package is installed and then configures the service. The second recipe configures the service and then ensures the package is installed.</p>
<p><strong>Question: The second recipe may not work as you&#8217;d expect because the service resource will fail if the package is not yet installed.</strong></p>
<p>Are these two recipes the same?</p>
<pre>package 'httpd'</pre>
<pre>service 'httpd' do    action [:enable, :start]    end</pre>
<pre>package 'httpd'</pre>
<pre>service 'httpd' do    action [:start, :enable]    end</pre>
<p><strong>Answer- </strong><br />
No, they are not. Although both recipes ensure that the httpd package is installed before configuring its service, the first recipe enables the service when the system boots and then starts it. The second recipe starts the service and then enables it to start on reboot.</p>
<p><strong>Are these two recipes the same?</strong></p>
<p>file &#8216;/etc/motd&#8217; do<br />
owner &#8216;root&#8217;<br />
group &#8216;root&#8217;<br />
mode &#8216;0755&#8217;<br />
action :create<br />
end</p>
<p>file &#8216;/etc/motd&#8217; do<br />
action :create<br />
mode &#8216;0755&#8217;<br />
group &#8216;root&#8217;<br />
owner &#8216;root&#8217;<br />
end</p>
<p><strong>Answer- </strong><br />
Yes, they are! Order matters with a lot of things in Chef, but you can order resource attributes any way you want.</p>
<p><strong>Question &#8211; </strong><br />
Write a service resource that stops and then disables the httpd service from starting when the system boots.</p>
<p><strong>Answer &#8211;</strong><br />
service &#8216;httpd&#8217; do<br />
action [:stop, :disable]<br />
end</p>
<p><strong>How does a cookbook differ from a recipe?</strong><br />
A recipe is a collection of resources, and typically configures a software package or some piece of infrastructure. A cookbook groups together recipes and other information in a way that is more manageable than having just recipes alone.</p>
<p>For example, in this lesson you used a template resource to manage your HTML home page from an external file. The recipe stated the configuration policy for your web site, and the template file contained the data. You used a cookbook to package both parts up into a single unit that you can later deploy.</p>
<p><strong>How does chef-apply differ from chef-client?</strong></p>
<p>chef-apply applies a single recipe; chef-client applies a cookbook.</p>
<p>For learning purposes, we had you start off with chef-apply because it helps you understand the basics quickly. In practice, chef-apply is useful when you want to quickly test something out. But for production purposes, you typically run chef-client to apply one or more cookbooks.</p>
<p>You&#8217;ll learn in the next module how to run chef-client remotely from your workstation.</p>
<p><strong>What&#8217;s the run-list?</strong></p>
<p>The run-list lets you specify which recipes to run, and the order in which to run them. The run-list is important for when you have multiple cookbooks, and the order in which they run matters.</p>
<p><strong>What are the two ways to set up a Chef server?</strong></p>
<p>Install an instance on your own infrastructure.<br />
Use hosted Chef.</p>
<p><strong>What&#8217;s the role of the Starter Kit?</strong><br />
The Starter Kit provides certificates and other files that enable you to securely communicate with the Chef server.</p>
<p><strong>Where can you get reusable cookbooks that are written and maintained by the Chef community?</strong><br />
Chef Supermarket, https://supermarket.chef.io.</p>
<p><strong>What&#8217;s the command that enables you to interact with the Chef server?</strong><br />
knife</p>
<p><strong>What is a node?</strong><br />
A node represents a server and is typically a virtual machine, container instance, or physical server – basically any compute resource in your infrastructure that&#8217;s managed by Chef.</p>
<p><strong>What information do you need to in order to bootstrap?</strong><br />
You need:</p>
<p>your node&#8217;s host name or public IP address.<br />
a user name and password you can log on to your node with.<br />
Alternatively, you can use key-based authentication instead of providing a user name and password.</p>
<p><strong>What happens during the bootstrap process?</strong><br />
During the bootstrap process, the node downloads and installs chef-client, registers itself with the Chef server, and does an initial checkin. During this checkin, the node applies any cookbooks that are part of its run-list.</p>
<p><strong>Which of the following lets you verify that your node has successfully bootstrapped?</strong></p>
<p>The Chef management console.<br />
knife node list<br />
knife node show<br />
You can use all three of these methods.</p>
<p><strong>What is the command you use to upload a cookbook to the Chef server?</strong><br />
knife cookbook upload</p>
<p><strong>How do you apply an updated cookbook to your node?</strong><br />
We mentioned two ways.</p>
<p>Run knife ssh from your workstation.<br />
SSH directly into your server and run chef-client.<br />
You can also run chef-client as a daemon, or service, to check in with the Chef server on a regular interval, say every 15 or 30 minutes.</p>
<p>Update your Apache cookbook to display your node&#8217;s host name, platform, total installed memory, and number of CPUs in addition to its FQDN on the home page.</p>
<p>Update index.html.erb like this.<br />
&lt;html&gt;<br />
&lt;body&gt;<br />
&lt;h1&gt;hello from &lt;%= node[&#8216;fqdn&#8217;] %&gt;&lt;/h1&gt;</p>
<p>&lt;pre&gt;<br />
&lt;%= node[&#8216;hostname&#8217;] %&gt;<br />
&lt;%= node[&#8216;platform&#8217;] %&gt; &#8211; &lt;%= node[&#8216;platform_version&#8217;] %&gt;<br />
&lt;%= node[&#8216;memory&#8217;][&#8216;total&#8217;] %&gt; RAM<br />
&lt;%= node[&#8216;cpu&#8217;][&#8216;total&#8217;] %&gt; CPUs<br />
&lt;/pre&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</p>
<p>Then upload your cookbook and run it on your node.</p>
<p><strong>What would you set your cookbook&#8217;s version to once it&#8217;s ready to use in production?</strong></p>
<p>According to Semantic Versioning, you should set your cookbook&#8217;s version number to 1.0.0 at the point it&#8217;s ready to use in production.</p>
<p><strong>What is the latest version of the haproxy community cookbook?</strong></p>
<p>To know the latest version of any cookbook on Chef Supermarket, browse to its page and view the latest version from the version selection box.</p>
<p>Or, get the info from the knife cookbook site command, like this.</p>
<p>knife cookbook site show haproxy | grep latest_version<br />
latest_version: http://cookbooks.opscode.com/api/v1/cookbooks/haproxy/versions/1.6.6</p>
<p><strong>Create a second node and apply the awesome_customers cookbook to it. How long does it take?</strong></p>
<p>You already accomplished the majority of the tasks that you need. You wrote the awesome_customers cookbook, uploaded it and its dependent cookbooks to the Chef server, applied the awesome_customers cookbook to your node, and verified that everything&#8217;s working.</p>
<p>All you need to do now is:</p>
<p>Bring up a second Red Hat Enterprise Linux or CentOS node.<br />
Copy your secret key file to your second node.<br />
Bootstrap your node the same way as before. Because you include the awesome_customers cookbook in your run-list, your node will apply that cookbook during the bootstrap process.<br />
The result is a second node that&#8217;s configured identically to the first one. The process should take far less time because you already did most of the work.</p>
<p>Now when you fix an issue or add a new feature, you&#8217;ll be able to deploy and verify your update much more quickly!</p>
<p><strong>What&#8217;s the value of local development using Test Kitchen?</strong></p>
<p>Local development with Test Kitchen:</p>
<p>enables you to use a variety of virtualization providers that create virtual machine or container instances locally on your workstation or in the cloud.<br />
enables you to run your cookbooks on servers that resemble those that you use in production.<br />
speeds up the development cycle by automatically provisioning and tearing down temporary instances, resolving cookbook dependencies, and applying your cookbooks to your instances.</p>
<p><strong>What is VirtualBox? What is Vagrant?</strong></p>
<p>VirtualBox is the software that manages your virtual machine instances.</p>
<p>Vagrant helps Test Kitchen communicate with VirtualBox and configures things like available memory and network settings.</p>
<p>Verify that your motd cookbook runs on both CentOS 6.6 and CentOS 6.5.</p>
<p>Your motd cookbook is already configured to work on CentOS 6.6 as well as CentOS 6.5, so you don&#8217;t need to modify it.</p>
<p>To run it on CentOS 6.5, add an entry to the platforms section of your .kitchen.yml file like this.</p>
<pre>---       driver:       name: vagrant</pre>
<pre>provisioner:       name: chef_zero</pre>
<pre>platforms:       - name: centos-6.6       driver:       box: opscode-centos-6.6       box_url: http://opscode-vm-bento.s3.amazonaws.com/vagrant/virtualbox/opscode_centos-6.6_chef-provisionerless.box       - name: centos-6.5       driver:       box: opscode-centos-6.5       box_url: http://opscode-vm-bento.s3.amazonaws.com/vagrant/virtualbox/opscode_centos-6.5_chef-provisionerless.box</pre>
<pre>suites:       - name: default       run_list:       - recipe[motd::default]       attributes:</pre>
<p>In many cases, Test Kitchen can infer the box and box_url parameters, which specify the name and location of the base image, or box. We specify them here to show you how to use them.</p>
<p>Run kitchen list to see the matrix of test instances that are available. Here, we have two platforms – CentOS 6.5 and CentOS 6.6 – multiplied by one suite – default.</p>
<p>$kitchen list</p>
<pre>Instance           Driver   Provisioner  Verifier  Transport  Last Action default-centos-66  Vagrant  ChefZero     Busser    Ssh        &lt;Not Created&gt; default-centos-65  Vagrant  ChefZero     Busser    Ssh        &lt;Not Created&gt;</pre>
<p>Run kitchen converge to create the instances and apply the motd cookbook.</p>
<pre>$kitchen converge    -----&gt; Starting Kitchen (v1.4.0)    -----&gt; Creating &lt;default-centos-66&gt;...    Bringing machine 'default' up with 'virtualbox' provider...    [...]    Running handlers:    Running handlers complete    Chef Client finished, 1/1 resources updated in 10.372334751 seconds    Finished converging &lt;default-centos-66&gt; (3m52.59s).    -----&gt; Creating &lt;default-centos-65&gt;...    Bringing machine 'default' up with 'virtualbox' provider...    [...]    Running handlers:    Running handlers complete    Chef Client finished, 1/1 resources updated in 5.32753132 seconds    Finished converging &lt;default-centos-65&gt; (10m12.63s).  -----&gt; Kitchen is finished. (19m47.71s)</pre>
<p>Now to confirm that everything&#8217;s working, run kitchen login. But this time, you need to provide the instance name so that Test Kitchen knows which instance to connect to.</p>
<pre>$kitchen login default-centos-66       Last login: Wed May 13 20:15:00 2015 from 10.0.2.2              hostname:  default-centos-66       fqdn:      default-centos-66       memory:    469392kB       cpu count: 1       [vagrant@default-centos-66 ~]$ logout       Connection to 127.0.0.1 closed.$kitchen login default-centos-65       Last login: Wed May 13 20:28:18 2015 from 10.0.2.2              hostname:  default-centos-65       fqdn:      default-centos-65       memory:    469452kB       cpu count: 1       [vagrant@default-centos-65 ~]$ logout       Connection to 127.0.0.1 closed.</pre>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/chef-configuration-management-interview-questions-and-answers-2/">Chef configuration management interview questions and answers | Chef Interview Q&#038;A</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/chef-configuration-management-interview-questions-and-answers-2/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Server configuration monitoring and diagnostics</title>
		<link>https://www.scmgalaxy.com/tutorials/server-configuration-monitoring-and-diagnostics/</link>
					<comments>https://www.scmgalaxy.com/tutorials/server-configuration-monitoring-and-diagnostics/#respond</comments>
		
		<dc:creator><![CDATA[scmgalaxy K]]></dc:creator>
		<pubDate>Wed, 19 Aug 2015 14:13:24 +0000</pubDate>
				<category><![CDATA[App / Web Servers]]></category>
		<category><![CDATA[Configuration]]></category>
		<category><![CDATA[Diagnostics]]></category>
		<category><![CDATA[Monitoring]]></category>
		<category><![CDATA[Monitoring and Diagnostics]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[Server configuration diagnostics]]></category>
		<category><![CDATA[Server configuration monitoring]]></category>
		<guid isPermaLink="false">http://www.scmgalaxy.com/tutorials/2015/08/19/server-configuration-monitoring-and-diagnostics/</guid>

					<description><![CDATA[<p>ScriptRock&#8217;s GuardRail As DevOps gets more agile, infrastructure needs unit tests too. Enterprise startup ScriptRock offers cloud-hosted testing configuration tools [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/server-configuration-monitoring-and-diagnostics/">Server configuration monitoring and diagnostics</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h4><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3379 aligncenter" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2015/08/server-configuration-monito.png" alt="server-configuration-monitoring-and-diagnostics" width="600" height="400" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2015/08/server-configuration-monito.png 600w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2015/08/server-configuration-monito-300x200.png 300w" sizes="auto, (max-width: 600px) 100vw, 600px" /></h4>
<h4 class="p1"><a href="https://www.scriptrock.com/">ScriptRock&#8217;s GuardRail</a></h4>
<p><span class="s1">As DevOps gets more agile, infrastructure needs unit tests too. Enterprise startup ScriptRock offers cloud-hosted testing configuration tools to get you started.</span></p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/server-configuration-monitoring-and-diagnostics/">Server configuration monitoring and diagnostics</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/server-configuration-monitoring-and-diagnostics/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Top 5 Configuration Management Tools</title>
		<link>https://www.scmgalaxy.com/tutorials/top-5-configuration-management-tools/</link>
					<comments>https://www.scmgalaxy.com/tutorials/top-5-configuration-management-tools/#respond</comments>
		
		<dc:creator><![CDATA[scmgalaxy K]]></dc:creator>
		<pubDate>Wed, 19 Aug 2015 13:00:28 +0000</pubDate>
				<category><![CDATA[Configuration Management Tools]]></category>
		<category><![CDATA[Ansible]]></category>
		<category><![CDATA[Best]]></category>
		<category><![CDATA[Best Configuration Management Tools]]></category>
		<category><![CDATA[CFEngine]]></category>
		<category><![CDATA[Chef]]></category>
		<category><![CDATA[Configuration]]></category>
		<category><![CDATA[Configuration Management]]></category>
		<category><![CDATA[list]]></category>
		<category><![CDATA[List of Configuration Management Tools]]></category>
		<category><![CDATA[Management]]></category>
		<category><![CDATA[puppet]]></category>
		<category><![CDATA[SaltStack]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Top]]></category>
		<category><![CDATA[Top Configuration Management Tools]]></category>
		<guid isPermaLink="false">http://www.scmgalaxy.com/tutorials/2015/08/19/top-5-configuration-management-tools/</guid>

					<description><![CDATA[<p>Top 5 Configuration Management Tools Puppet In computing, Puppet is an open-source configuration management utility. It runs on many Unix-like [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/top-5-configuration-management-tools/">Top 5 Configuration Management Tools</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-3442 aligncenter" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2015/08/top-5-configuration-managem.png" alt="top-5-configuration-management-tools" width="600" height="400" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2015/08/top-5-configuration-managem.png 600w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2015/08/top-5-configuration-managem-300x200.png 300w" sizes="auto, (max-width: 600px) 100vw, 600px" /></p>
<p>Top 5 Configuration Management Tools</p>
<p><a href="https://puppetlabs.com/">Puppet</a></p>
<p>In computing, Puppet is an open-source configuration management utility. It runs on many Unix-like systems as well as on Microsoft Windows, and includes its own declarative language to describe system configuration.</p>
<p>Puppet is produced by Puppet Labs, founded by Luke Kanies in 2005. It is written in Ruby and released as free software under the GNU General Public License (GPL) until version 2.7.0 and the Apache License 2.0 after that.</p>
<p>What started out as a popular DevOps tool has quickly become a movement. Written in Ruby, like Chef, Puppet also comes in both an open source and enterprise version. However, where Chef has a healthy offering of features across both open source and enterprise versions, Puppet has placed the majority of its feature set into enterprise status. Features that the open source version comes with include provisioning (Amazon EC2, Google Compute Engine), configuration management (operating systems and applications) plus 2,000+ pre-built configurations on Puppet Forge. Considerably more features are available for the enterprise version, including the open source features plus graphical user interface, event inspector (visualize infrastructure changes), supported modules, and provisioning (VMware VMs). Configuration management (discovery, user accounts), orchestration, task automation, role-based access control (with external authentication support) are also included. Puppet enterprise has a unified cross-platform installer of all components and support.</p>
<p><a href="https://www.chef.io/chef/">Chef</a></p>
<p>Offered as both an open source and enterprise product, Chef is a powerful tool for full IT infrastructure configuration management. With open source Chef at the heart of both offerings, shared features include a flexible and scalable automation platform, access to 800+ reusable cookbooks and integration with leading cloud providers. Chef also offers enterprise platform support, including Windows and Solaris, and allows you to create, bootstrap and manage OpenStack clouds. It has easy installation with &#8216;one-click&#8217; Omnibus Installer, automatic system discovery with Ohai, text-based search capabilities and multiple environment support. Other notable features inclyde the &#8220;Knife&#8221; command line interface, &#8220;Dry Run&#8221; mode for testing potential changes, and the ability to manage 10,000+ nodes on a single Chef server. Features only available in the enterprise version of Chef include availablility as a hosted service, enhanced management console, centralized activity and resource reporting, as well as &#8220;Push&#8221; command and control client runs. Multi-tenancy, role-based access control (RBAC), high availability installation support and verification, along with centralized authentication using LDAP or Active Directory are included with Chef enterprise.</p>
<p><a href="http://www.ansible.com/home" target="_blank" rel="noopener">Ansible</a></p>
<p>Ansible is a model-driven configuration management tool that leverages SSH to improve security and simplify management. In addition to configuration management, it is capable of automating app deployment (even multi-tier deployment), workflow orchestration and cloud provisioning, hence the company likes the tool to be categorized as an &#8220;orchestration engine.&#8221; Ansible is built on five design principles including ease of use (doesn&#8217;t require writing scripts or custom code), low learning curve (both for sysadmins and developers), comprehensive automation (allowing you to automate almost anything in your environment), efficiency (since it runs on OpenSSH it doesn&#8217;t rely on memory or CPU resources), and security (it is inherently more secure because it doesn&#8217;t require an agent, additional ports or root level daemons). As many other open source projects, Ansible has a paid product that comes in the form of a web UI called Ansible Tower.</p>
<p><a href="http://cfengine.com/" target="_blank" rel="noopener">CFEngine</a></p>
<p>One of the earliest full-featured configuration management systems out there, CFEngine has gone through several iterations and maintained relevance as OS have gone from the local data center to the cloud. At the heart of the infrastructure automation framework, CFEngine is also a modeling and monitoring compliance engine, capable of sitting on a small footprint. As recommended by CFEngine, steps toward identifying an initial desired state include: 1) model the desired state of your environment; 2) simulate configuration changes before committing them; 3) confirm the desired state and set for automatic self-healing; 4) collect reports on the differences between actual and desired states. CFEngine has a library of reusable data-driven models that will help users model their desired states. These infrastructure patterns are designed to be reusable across the Enterprise.</p>
<p><a href="http://saltstack.com/community/" target="_blank" rel="noopener">Salt</a></p>
<p>As part of a larger, enterprise ready application, the configuration management piece of Salt is as robust and feature-full as would be expected. Built upon the remote execution core, execution of the system occurs on &#8220;minions&#8221; which receives commands from the central Salt master and replies with the results of said commands. Salt support simultaneous configuration of tens of thousands of hosts. Based upon host &#8220;states&#8221;, no programming is required to write the configuration files, which are small and easy to understand, that help identify the state of each host. Additionally, for those who do program, or admins who want to have more control and familiarity with their configuration files, any language can be used to render the configurations.</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/top-5-configuration-management-tools/">Top 5 Configuration Management Tools</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/top-5-configuration-management-tools/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Build Configuration Templates in Teamcity &#124; Teamcity Guide</title>
		<link>https://www.scmgalaxy.com/tutorials/build-configuration-templates-in-teamcity/</link>
					<comments>https://www.scmgalaxy.com/tutorials/build-configuration-templates-in-teamcity/#comments</comments>
		
		<dc:creator><![CDATA[scmgalaxy K]]></dc:creator>
		<pubDate>Tue, 24 Feb 2015 00:00:00 +0000</pubDate>
				<category><![CDATA[Build Management & Tools]]></category>
		<category><![CDATA[Build]]></category>
		<category><![CDATA[Build configuration]]></category>
		<category><![CDATA[Build Configuration Templates]]></category>
		<category><![CDATA[Build Configuration Templates in TeamCity]]></category>
		<category><![CDATA[Build management]]></category>
		<category><![CDATA[Configuration]]></category>
		<category><![CDATA[Teamcity]]></category>
		<category><![CDATA[Teamcity Guide]]></category>
		<category><![CDATA[Teamcity Tutorial]]></category>
		<category><![CDATA[Templates]]></category>
		<guid isPermaLink="false">http://www.scmgalaxy.com/tutorials/2015/02/24/build-configuration-templates-in-teamcity/</guid>

					<description><![CDATA[<p>Going meta with Meta-Runners in TeamCity We have seen that build runners can be very handy. Even though most build [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/build-configuration-templates-in-teamcity/">Build Configuration Templates in Teamcity | Teamcity Guide</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div>
<div>
<div>
<h1><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3513 aligncenter" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2015/02/build-configuration-templat.png" alt="build-configuration-templates-in-teamcity" width="600" height="400" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2015/02/build-configuration-templat.png 600w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2015/02/build-configuration-templat-300x200.png 300w" sizes="auto, (max-width: 600px) 100vw, 600px" /></h1>
<h1>Going meta with Meta-Runners in TeamCity</h1>
</div>
</div>
</div>
<p><a name="We have"></a>We have seen that build runners can be very handy. Even though most build runners can be replaced with an equivalent command using the command-line runner, build runners come with the convenience of easily setting up build steps, along with the necessary agent requirements and parameters.</p>
<p>Meta-Runners<a id="id772"></a><a name="to create"></a> provide a straightforward way to create custom build runners. Meta-Runners can be thought of as a way to avoid duplications in build steps across build configurations.</p>
<div title="Note">
<div>
<h3><a id="note93"></a>Note</h3>
<p><a name="create and"></a>While templates can be used to create and maintain build configurations that are very similar, Meta-Runners can be used across build configurations that perform the same build steps. Moreover, a build configuration can only be based on one template, but it can make use of multiple Meta-Runners.</p>
</div>
</div>
<p>In <a title="Chapter 3. Getting Your CI Up and Running" href="http://techbus.safaribooksonline.com/9781849699518/ch03_html" data-ajax="1">Chapter 3</a>, <em>Getting Your CI Up and Running</em>, we created the deploy-to-test<a name="application to"></a> build configuration that deploys the Django application to Heroku. Using this build configuration as an example, we can see how we can extract a Meta-Runner Deploy To Heroku<a name="that wants"></a> that can be used by any build configuration that wants to deploy to Heroku.</p>
<p>Recall that the deploy-to-test build configuration<a id="id773"></a> had a simple command-line runner that executed the following commands:</p>
<div>
<pre><strong>git remote add heroku git@heroku.com:django-ci-example.git</strong>  <strong>git push heroku master</strong></pre>
</div>
<p>To create a generic Meta-Runner<a id="id774"></a><a name="to push"></a> out of this, we need to provide a way to push to any remote, rather than just git@heroku.com:django-ci-example.git.</p>
<div title="Note">
<div>
<h3><a id="note94"></a>Note</h3>
<p>Deploying to Heroku using remotes needs the ssh<a name="example used"></a> keys to be set up on the agent. The example used here just illustrates Meta-Runners and may not be ideal for production use.</p>
<p><a name="in"></a>As mentioned in <a title="Chapter 6. TeamCity for Ruby Projects" href="http://techbus.safaribooksonline.com/9781849699518/ch06_html" data-ajax="1">Chapter 6</a>, <em><a name="for Ruby"></a>TeamCity for Ruby Projects</em>, we can use<a id="id775"></a> a gem such <a id="id776"></a>as heroku-headless (<a href="https://github.com/moredip/heroku-headless" target="_new" rel="noopener">https://github.com/moredip/heroku-headless</a>).</p>
</div>
</div>
<p><a name="extracting the"></a>As expected, we will do this by extracting the remote out into a build parameter. The command-line runner will have the following as the <strong><a name="Custom Script"></a>Custom Script</strong> to be run:</p>
<div>
<pre><strong>git remote add heroku %heroku.remote%</strong>  <strong>git push heroku master</strong></pre>
</div>
<p><a name="value for"></a>We will provide the value for the %heroku.remote% parameter in the <strong>Build Parameters</strong> section of the build configuration.</p>
<p><a name="a Meta"></a>Now we are ready to create a Meta-Runner from this build configuration. This can be done by clicking on the <strong>Extract Meta-Runner</strong><a name="the build"></a> button in the right-hand side bar of the build configuration settings page. This brings up the <strong>Extract Meta-Runner</strong> dialog, which is shown in the following screenshot:</p>
<div><img loading="lazy" decoding="async" class=" size-full wp-image-401" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2015/02/Going-meta-with-Meta-Runners-in-teamcity1.jpg" alt="Going meta with Meta-Runners" width="683" height="405" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2015/02/Going-meta-with-Meta-Runners-in-teamcity1.jpg 683w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2015/02/Going-meta-with-Meta-Runners-in-teamcity1-300x178.jpg 300w" sizes="auto, (max-width: 683px) 100vw, 683px" /></div>
<p>In the dialog, we<a id="id777"></a><a name="name that"></a> give a name to the Meta-Runner. This is the name that will appear in the <strong>Runner Type</strong><a name="build configuration"></a> field when configuring a build step for a build configuration.</p>
<p>Click on <strong>Extract</strong><a name="see it"></a> to create the Meta-Runner. Once the Meta-Runner is created, we can see it listed in the <strong>Meta-Runners</strong><a name="the project"></a> tab on the project administration page. We can also edit the Meta-Runner to fine-tune it as desired.</p>
<div title="Note">
<div>
<h3><a id="tip77"></a>Tip</h3>
<p><a name="is essentially"></a>A Meta-Runner is essentially an XML configuration (much like most TeamCity configurations) that can be edited directly from the web interface.</p>
</div>
</div>
<p><a name="page of"></a>The following screenshot shows the edit page of the Deploy To Heroku<a name="that we"></a> Meta-Runner that we just created:</p>
<div><img loading="lazy" decoding="async" class=" size-full wp-image-402" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2015/02/Going-meta-with-Meta-Runners-in-teamcity2.jpg" alt="Going meta with Meta-Runners" width="806" height="564" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2015/02/Going-meta-with-Meta-Runners-in-teamcity2.jpg 806w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2015/02/Going-meta-with-Meta-Runners-in-teamcity2-300x210.jpg 300w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2015/02/Going-meta-with-Meta-Runners-in-teamcity2-768x537.jpg 768w" sizes="auto, (max-width: 806px) 100vw, 806px" /></div>
<p>The <a id="id778"></a><a name="and steps"></a>Meta-Runner extracts all the parameters and steps defined in the build configuration. We can edit the Meta-Runner to have only the necessary parameters and steps.</p>
<div title="Using Meta-Runners">
<div>
<div>
<div>
<h2><a id="ch10lvl2sec93"></a>Using Meta-Runners</h2>
</div>
</div>
</div>
<p>We can <a id="id779"></a><a name="pretty much"></a>now use the Meta-Runner that we created pretty much like a normal build runner. We will remove the existing build step in the deploy-to-test<a name="and add"></a> build configuration (from which we extracted the Meta-Runner) and add a Deploy To Heroku Meta-Runner-based build step.</p>
<div title="Note">
<div>
<h3><a id="tip78"></a>Tip</h3>
<p><a name="want to"></a>We can also disable build steps if we don&#8217;t want to remove them while experimenting.</p>
</div>
</div>
<p>In the <strong>New Build Step</strong> page, for the <strong>Runner type</strong> field, the newly created <strong>Deploy To Heroku</strong> Meta-Runner is available, as shown in the following screenshot:</p>
<div><img loading="lazy" decoding="async" class=" size-full wp-image-403" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2015/02/Going-meta-with-Meta-Runners-in-teamcity3.jpg" alt="Using Meta-Runners" width="480" height="381" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2015/02/Going-meta-with-Meta-Runners-in-teamcity3.jpg 480w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2015/02/Going-meta-with-Meta-Runners-in-teamcity3-300x238.jpg 300w" sizes="auto, (max-width: 480px) 100vw, 480px" /></div>
<p>Once we <a id="id780"></a>choose the Deploy To Heroku Meta-Runner, we can see that the heroku.remote<a name="Since we"></a> parameter is one of the fields to be configured. Since we created the Meta-Runner with the heroku.remote parameter with the value git@heroku.com:django-ci-example.git, that remote is available by default. The Deploy To Heroku runner configuration page is shown in the following screenshot:</p>
<div><img loading="lazy" decoding="async" class=" size-full wp-image-404" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2015/02/Going-meta-with-Meta-Runners-in-teamcity4.jpg" alt="Using Meta-Runners" width="692" height="342" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2015/02/Going-meta-with-Meta-Runners-in-teamcity4.jpg 692w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2015/02/Going-meta-with-Meta-Runners-in-teamcity4-300x148.jpg 300w" sizes="auto, (max-width: 692px) 100vw, 692px" /></div>
<div title="Note">
<div>
<h3><a id="tip79"></a>Tip</h3>
<p><a name="parameters in"></a>It is possible to remove the value for parameters in the Meta-Runner XML so that no default values are present for the fields.</p>
</div>
</div>
<p>We can<a id="id781"></a> click on <strong>Save</strong><a name="the build"></a> to add the build step. The new build step, based on the Deploy To Heroku<a name="function in"></a> Meta-Runner, will function in the same way as the previous build step based on the command-line runner.</p>
<div title="Note">
<div>
<h3><a id="note95"></a>Note</h3>
<p><a name="apparent when"></a>Of course, the value of Meta-Runners becomes more apparent when we create them out of multiple build steps. The same set of steps that may be repeated across multiple configurations can be extracted into Meta-Runners.</p>
<p><span style="font-weight: 600; color: #555555; font-family: 'Open Sans', Arial, sans-serif; font-size: 14px; line-height: 28px;">Reference Book</span><span style="color: #555555; font-family: 'Open Sans', Arial, sans-serif; font-size: 14px; line-height: 28px;"> &#8211; Learning Continuous Integration with TeamCity by Learning Continuous Integration with TeamCity</span></p>
</div>
</div>
</div>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/build-configuration-templates-in-teamcity/">Build Configuration Templates in Teamcity | Teamcity Guide</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/build-configuration-templates-in-teamcity/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Chef configuration management &#124; Chef Training &#124; Chef Course &#124; Online &#124; Classroom</title>
		<link>https://www.scmgalaxy.com/tutorials/chef-configuration-management-2/</link>
					<comments>https://www.scmgalaxy.com/tutorials/chef-configuration-management-2/#comments</comments>
		
		<dc:creator><![CDATA[scmgalaxy K]]></dc:creator>
		<pubDate>Thu, 07 Aug 2014 15:57:25 +0000</pubDate>
				<category><![CDATA[Training]]></category>
		<category><![CDATA[Chef]]></category>
		<category><![CDATA[Chef Advance]]></category>
		<category><![CDATA[Chef configuration management]]></category>
		<category><![CDATA[Chef configuration management Training]]></category>
		<category><![CDATA[Chef Course]]></category>
		<category><![CDATA[Chef Training]]></category>
		<category><![CDATA[Chef Training Classroom]]></category>
		<category><![CDATA[Chef Training Online]]></category>
		<category><![CDATA[Classroom]]></category>
		<category><![CDATA[Classroom Chef Training]]></category>
		<category><![CDATA[Configuration]]></category>
		<category><![CDATA[Configuration management Training]]></category>
		<category><![CDATA[Course]]></category>
		<category><![CDATA[Management]]></category>
		<category><![CDATA[Online]]></category>
		<category><![CDATA[Online Chef Training]]></category>
		<guid isPermaLink="false">http://www.scmgalaxy.com/tutorials/2014/08/07/chef-configuration-management-2/</guid>

					<description><![CDATA[<p>This course aims to prepare key development, engineering, and operations staff to use Chef to write infrastructure. Each of the [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/chef-configuration-management-2/">Chef configuration management | Chef Training | Chef Course | Online | Classroom</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><a title="DevOps Training Registration" href="events/register/index.html" target="_blank" rel="noopener"><img loading="lazy" decoding="async" class=" size-full wp-image-1" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2014/07/registernow.jpg" alt="" width="232" height="104" /></a></p>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-27 size-full" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2014/08/chef-training.jpg" alt="Chef Training" width="971" height="500" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2014/08/chef-training.jpg 971w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2014/08/chef-training-300x154.jpg 300w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2014/08/chef-training-768x395.jpg 768w" sizes="auto, (max-width: 971px) 100vw, 971px" /></p>
<p>This course aims to prepare key development, engineering, and operations staff to use Chef to write infrastructure. Each of the core units in the course has hands on exercises to reinforce the material. You will learn Chef by using it. At the end of the class, students will have a code repository that can be used and modified to solve real business problems.</p>
<h1><a title="upcoming training dates" href="index.php?option=com_icagenda&amp;view=list&amp;Itemid=389"><img loading="lazy" decoding="async" class=" size-full wp-image-4" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2014/07/upcoming-training-dates.png" alt="" width="200" height="100" /></a><strong><a title="Upcoming Training Dates" href="index.php?option=com_icagenda&amp;view=list&amp;Itemid=389">Click Here</a></strong></h1>
<p><strong>Course agenda: </strong></p>
<h2>Day 1:</h2>
<ul>
<li>What Is Configuration Management?</li>
<li>Why You Need a Configuration Management Tool to Automate IT</li>
<li>What Is Chef?</li>
<li>Why Chef Might Be a Good Tool for Your Enterprise</li>
<li>Where Do We Go From Here?</li>
<li>Chef Development Tools
<ul>
<li>Install and Configuration Chef Development Tools on Windows</li>
<li>Install and Configuration Chef Development Tools on Linux</li>
</ul>
</li>
<li>Overview of Ruby</li>
<li>Ruby Syntax and Examples</li>
<li>Chef Syntax and Examples</li>
<li>Working with Knife</li>
<li>Writing First Chef Recipe</li>
<li>Chef and Its Terminology
<ul>
<li>Attributes</li>
<li>Metadata</li>
<li>Recipes</li>
<li>Resources</li>
<li>Templates</li>
<li>Definitions</li>
<li>Recipes</li>
<li>Writing recipes</li>
<li>Cookbook Dependencies</li>
<li>Controlling Impotency</li>
<li>Notifications</li>
<li>Template Variables</li>
</ul>
</li>
</ul>
<h2>Day 2:</h2>
<ul>
<li>Cookbooks</li>
<li>Using Cookbooks</li>
<li>Windows &#8211; IIS, MSI, Exe, Zip files, Tomcat,</li>
<li>Linux – RPM, Shell Script, Yum Repos,</li>
<li>Common – SVN, Vagrant, Test Kitchen</li>
<li>Introducing Vagrant &amp; Virtualbox</li>
<li>Introducing Test Kitchen</li>
<li>Spinning up your first Virtual Machine</li>
<li>Introducing OpsCode</li>
<li>Developing a Cookbooks
<ul>
<li>Developing Your First Cookbook</li>
<li>Writing a Recipe</li>
<li>Creating the Index File</li>
<li>Changing the Metadata</li>
<li>Uploading the Cookbook</li>
<li>Running the Cookbook</li>
<li>Add an Attribute</li>
<li>Add a Resource to the Default Recipe</li>
<li>Add the Template File</li>
<li>Uploading and Running the Cookbook</li>
<li>Using Environments</li>
</ul>
</li>
<li>Modeling your infrastructure
<ul>
<li>Roles</li>
<li>Implementing a role</li>
<li>Determining which recipes you need</li>
<li>Applying recipes to roles</li>
<li>Mapping your roles to nodes</li>
<li>Environments</li>
<li>Organizing your configuration data</li>
</ul>
</li>
</ul>
<h2>Day 3:</h2>
<ul>
<li>Cloud Provisioning Using Chef
<ul>
<li>Provisioning Using Vagrant and Chef</li>
<li>Providers and Provisioners</li>
<li>Installing Vagrant</li>
<li>Configuring Vagrant</li>
<li>Vagrant Provisioning Using Chef</li>
<li>AWS and Chef Provisioning Using Vagrant</li>
<li>Provisioning Using Knife</li>
</ul>
</li>
<li>Troubleshooting and Debugging
<ul>
<li>Chef Troubleshooting and Debugging</li>
<li>Debugging Chef Client Run</li>
<li>Debugging Recipes Using Logs</li>
<li>Debugging Recipes Using Chef Shell</li>
<li>Troubleshooting Chef Client</li>
</ul>
</li>
<li>Recipe Inclusion</li>
<li>Data Bags</li>
<li>Search Roles</li>
<li>Configuring Services like Apache</li>
<li>Deployment using chef
<ul>
<li>Looking at your application deployment cookbook</li>
<li>Deployment using zip/tar files. E.g: Apache Tomcat deployment and configured as service.</li>
<li>Windows &#8211; Configuring Services like IIS</li>
<li>Dependencies Management</li>
</ul>
</li>
<li>Integrating with the Cloud
<ul>
<li>Amazon EC2</li>
<li>Rackspace Cloud</li>
</ul>
</li>
</ul>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/chef-configuration-management-2/">Chef configuration management | Chef Training | Chef Course | Online | Classroom</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/chef-configuration-management-2/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>How to setup Gitlab in local machine ?</title>
		<link>https://www.scmgalaxy.com/tutorials/setting-up-gitlab-in-local-machine/</link>
					<comments>https://www.scmgalaxy.com/tutorials/setting-up-gitlab-in-local-machine/#respond</comments>
		
		<dc:creator><![CDATA[scmgalaxy K]]></dc:creator>
		<pubDate>Wed, 14 May 2014 06:38:34 +0000</pubDate>
				<category><![CDATA[Repository Manager Tools]]></category>
		<category><![CDATA[Configuration]]></category>
		<category><![CDATA[Gitlab]]></category>
		<category><![CDATA[Gitlab Installation Guide]]></category>
		<category><![CDATA[Gitlab Installation Instructions]]></category>
		<category><![CDATA[Gitlab Setup]]></category>
		<category><![CDATA[Gitlab Setup guide]]></category>
		<category><![CDATA[Gitlab setup Instruction]]></category>
		<category><![CDATA[Gitlab Tutorial]]></category>
		<category><![CDATA[Guide]]></category>
		<category><![CDATA[How]]></category>
		<category><![CDATA[Installation]]></category>
		<category><![CDATA[Instructions]]></category>
		<category><![CDATA[local]]></category>
		<category><![CDATA[machine]]></category>
		<category><![CDATA[Process to setup Gitlab]]></category>
		<category><![CDATA[Setup]]></category>
		<category><![CDATA[setup Gitlab]]></category>
		<category><![CDATA[Tutorials]]></category>
		<guid isPermaLink="false">http://www.scmgalaxy.com/tutorials/2014/05/14/setting-up-gitlab-in-local-machine/</guid>

					<description><![CDATA[<p>Download gitlab from https://www.gitlab.com/downloads/ Installation, setup, configuration, backup Instructions is given in… https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md https://github.com/gitlabhq/gitlabhq/blob/6-1-stable/doc/install/installation.md</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/setting-up-gitlab-in-local-machine/">How to setup Gitlab in local machine ?</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><!-- [if gte mso 9]><xml>  <o:OfficeDocumentSettings>   <o:AllowPNG/>  </o:OfficeDocumentSettings> </xml><![endif]--></p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3726 aligncenter" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2014/05/gitlab-setup.png" alt="gitlab-setup" width="600" height="400" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2014/05/gitlab-setup.png 600w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2014/05/gitlab-setup-300x200.png 300w" sizes="auto, (max-width: 600px) 100vw, 600px" /></p>
<p class="MsoNormal"><strong>Download gitlab from</strong></p>
<p class="MsoNormal"><a href="https://www.gitlab.com/downloads/">https://www.gitlab.com/downloads/</a></p>
<p class="MsoNormal"><strong>Installation, setup, configuration, backup Instructions is given in…</strong></p>
<p class="MsoNormal"><a href="https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md">https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md<br />
https://github.com/gitlabhq/gitlabhq/blob/6-1-stable/doc/install/installation.md<br />
</a></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:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin;} </style>

 <![endif]--></p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/setting-up-gitlab-in-local-machine/">How to setup Gitlab in local machine ?</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/setting-up-gitlab-in-local-machine/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Versioning in Software Configuration Management &#124; SCM Versioning Guide</title>
		<link>https://www.scmgalaxy.com/tutorials/versioning-in-software-configuration-management/</link>
					<comments>https://www.scmgalaxy.com/tutorials/versioning-in-software-configuration-management/#comments</comments>
		
		<dc:creator><![CDATA[scmgalaxy K]]></dc:creator>
		<pubDate>Wed, 23 May 2012 09:49:14 +0000</pubDate>
				<category><![CDATA[Practice of Software Configuration Management]]></category>
		<category><![CDATA[Configuration]]></category>
		<category><![CDATA[Guide]]></category>
		<category><![CDATA[How]]></category>
		<category><![CDATA[Management]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[SCM]]></category>
		<category><![CDATA[SCM Versioning Guide]]></category>
		<category><![CDATA[SCM Versioning Process]]></category>
		<category><![CDATA[SCM Versioning Reference]]></category>
		<category><![CDATA[SCM Versioning Steps]]></category>
		<category><![CDATA[SCM Versioning Tutorial]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[Software Configuration Management]]></category>
		<category><![CDATA[Software Configuration Management Versioning]]></category>
		<category><![CDATA[Steps]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Versioning]]></category>
		<category><![CDATA[Versioning in SCM]]></category>
		<guid isPermaLink="false">http://www.scmgalaxy.com/tutorials/2012/05/23/versioning-in-software-configuration-management/</guid>

					<description><![CDATA[<p>Versioning in Software Configuration Management? Reference: This article has been take out from Book Called &#8220;The Build Master: Microsoft&#8217;s Software [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/versioning-in-software-configuration-management/">Versioning in Software Configuration Management | SCM Versioning Guide</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h3><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3798 aligncenter" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2012/05/versioning-configuration-ma.png" alt="versioning-in-software-configuration-management" width="600" height="400" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2012/05/versioning-configuration-ma.png 600w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2012/05/versioning-configuration-ma-300x200.png 300w" sizes="auto, (max-width: 600px) 100vw, 600px" /></h3>
<h3>Versioning in Software Configuration Management?</h3>
<p><strong>Reference:</strong> This article has been take out from Book Called &#8220;The Build Master: Microsoft&#8217;s Software Configuration Management Best Practices&#8221;</p>
<h3><strong>Why Worry About Versioning?</strong></h3>
<ul>
<li>Having a good version scheme for your software is important for several reasons. The following are the top five things a version scheme allows you to do (in random order):</li>
<li>Track your product binaries to the original source files.</li>
<li>Re-create a past build by having meaningful labels in your source tree.</li>
<li>Avoid &#8220;DLL hell&#8221; —multiple versions of the same file (library in this case) on a machine.</li>
<li>Help your setup program handle upgrades and service packs.</li>
<li>Provide your product support and Q/A teams with an easy way to identify the bits they are working with.</li>
</ul>
<p>So, how do you keep track of files in a product and link them back to the owner? How can you tell that you are testing or using the latest version of a released file? What about the rest of the reasons in the list? This chapter describes my recommendations for the most effective and easiest way to set up and apply versioning to your software. Many different schemes are available, and you should feel free to create your own versioning method.</p>
<p>Ultimately, like most of the other topics in this book, the responsibility to apply versioning to the files in a build tends to fall into the hands of the build team. That might be because it is usually the build team that has to deal with the headaches that come from having a poor versioning scheme. Therefore, it is in their best interest to publish, promote, and enforce a good versioning scheme. If the build team does not own this, then someone who does not understand the full implications of versioning will make the rules. Needless to say, this would not be desirable for anybody involved with the product.</p>
<h3>What is the best way to accomplish this? Let&#8217;s start with the version number and work our way down.</h3>
<p><strong>File Versioning</strong></p>
<p>Every file in a product should have a version number; a four-part number separated by periods such as the one that follows seems to be the established best practice. There are many variations of what each part represents. I will explain what I think is the best way of defining these parts.</p>
<p>&lt;major version&gt;.&lt;minor version&gt;.&lt;build number&gt;.&lt;revision&gt;</p>
<p><strong>Major version</strong>— The component owner usually assigns this number. It should be the internal version of the product. It rarely changes during the development cycle of a product release.</p>
<p><strong>Minor version</strong>— The component owner usually assigns this number. It is normally used when an incremental release of the product is planned instead of a full feature upgrade. It rarely changes during the development cycle of a product release.</p>
<p><strong>Build number</strong>— The build team usually assigns this number based on the build that the file was generated with. It changes with every build of the code.</p>
<p><strong>Revision</strong>— The build team usually assigns this number. It can have several meanings: bug number, build number of an older file being replaced, or service pack number. It rarely changes. This number is used mostly when servicing the file for an external release.</p>
<h3><strong>Build Number</strong></h3>
<p>Each build that is released out of the Central Build Lab should have a unique version stamp (also known as the build number). This number should be incremented just before a build is started. Don&#8217;t use a date for a build number or mix dates into a version number simply because there are so many date formats out there that it can be difficult to standardize on one. Also, if you have more than one build on a given date, the naming can get tricky. Stick with an n=n+1 build number. For example, if you release build 100 in the morning and rebuild and release your code in the afternoon, the afternoon build should be build 101. If you were to use a date for the build number, say 010105, what would your afternoon build number be? 010105.1? This can get rather confusing.</p>
<h3><strong>How Versioning Affects Setup</strong></h3>
<p>Have you ever met someone who reformats his machine every six months because &#8220;it just crashes less if I do&#8221; or it &#8220;performs better?&#8221; It might sound draconian, but the current state of component versioning and setup makes starting from scratch a likely solution to these performance issues, which are further complicated by spyware.</p>
<p>Most of the problems occur when various pieces of software end up installing components (DLLs and COM components) that are not quite compatible with each other or with the full set of installed products. Just one incorrect or incorrectly installed DLL can make a program flaky or prevent it from starting up. In fact, DLL and component installation is so important that it is a major part of the Windows logo requirement.</p>
<p>If you are involved in your product&#8217;s setup, or if you are involved in making decisions about how to update your components (produce new versions), you can do some specific things to minimize DLL hell and get the correct version of your file on the machine.</p>
<p>Installing components correctly is a little tricky, but with these tips, you can install your components in a way that minimizes the chance of breaking other products on your own.</p>
<p><strong>Install the Correct Version of a Component for the Operating System and Locale</strong><br />
If you have operating system (OS)-specific components, make sure your setup program(s) check which OS you are using and install only the correct components. Also, you cannot give two components the same name and install them in the same directory. If you do, you overwrite the component on the second install on a dual-boot system. Note that the logo requirements recommend that you avoid installing different OS files if possible. Related to this problem is the problem caused when you install the wrong component or typelib for the locale in use, such as installing a U.S. English component on a German machine. This causes messages, labels, menus, and automation method names to be displayed in the wrong language.</p>
<p><strong>Write Components to the Right Places</strong><br />
Avoid copying components to a system directory. An exception to this is if you are updating a system component. For that, you must use an update program provided by the group within Microsoft that maintains the component.</p>
<p>In general, you should copy components to the same directory that you copy the EXE. If you share components between applications, establish a shared components directory. However, it is not recommended that you share components between applications. The risks outweigh the benefits of reduced disk space consumption.</p>
<p><strong>Do Not Install Older Components Over Newer Ones</strong><br />
Sometimes, the setup writer might not properly check the version of an installed component when deciding whether to overwrite the component or skip it. The result can be that an older version of the component is written over a newer version. Your product runs fine, but anything that depends on new features of the newer component fails. Furthermore, your product gets a reputation for breaking other products. We address the issue of whether it makes sense to overwrite components at all. But if you do overwrite them, you don&#8217;t want to overwrite a newer version.</p>
<p><strong>&#8220;Copy on Reboot&#8221; If Component Is in Use</strong><br />
Another common mistake is to avoid dealing with the fact that you cannot overwrite a component that is in use. Instead, you have to set up the file to copy on reboot. Note that if one component is in use, you probably should set up all the components to copy on reboot. If you don&#8217;t, and if the user doesn&#8217;t reboot promptly, your new components could be mixed with the old ones.</p>
<p><strong>Register Components Correctly; Take Security into Account</strong><br />
Sometimes setups don&#8217;t properly register COM components correctly, including the proxy and stub. Note that Windows CE requires that you also register DLLs. Note, too, that when installing DCOM components, you must be vigilant about permissions and security.</p>
<p><strong>Copy Any Component That You Overwrite</strong><br />
It is smart to make a copy of any component that you overwrite before you overwrite it. You won&#8217;t want to put it back when you uninstall unless you&#8217;re sure that no product installed after yours will need the newer component—a difficult prediction! But by storing the component in a safe place, you make it possible for the user to fix his system if it turns out that the component you installed breaks it. You can let users know about this in the troubleshooting section of your documentation, the README file, or on your Web site. Doing this might not save a call to support, but it does at least make the problem solvable. If the component is not in use, you can move it rather than copying it. Moving is a much faster operation.</p>
<p><strong>Redistribute a Self-Extracting EXE Rather Than Raw Components</strong><br />
If your component is redistributed by others (for instance, your component is distributed with several different products, especially third-party products), it is wise to provide a self-extracting EXE that sets up your component correctly. Make this EXE the only way that you distribute your component. (Such an EXE is also an ideal distribution package for the Web.) If you just distribute raw components, you have to rely on those who redistribute your components to get the setup just right. As we have seen, this is pretty easy to mess up.</p>
<p>Your EXE should support command-line switches for running silently (without a UI) and to force overwriting, even of newer components, so that product support can step users through overwriting if a problem arises.</p>
<p>If you need to update core components that are provided by other groups, use only the EXE that is provided by that group.</p>
<p><strong>Test Setup on Real-World Systems</strong><br />
If you&#8217;re not careful, you can install all your setup testing on systems that already happen to have the right components installed and the right registry entries made. Be sure to test on raw systems, on all operating systems, and with popular configurations and third-party software already installed. Also, test other products to make sure they still work after you install your components.</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/versioning-in-software-configuration-management/">Versioning in Software Configuration Management | SCM Versioning Guide</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/versioning-in-software-configuration-management/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Hardware Configuration &#8211; What are the Hardware Requirements for Build Server?</title>
		<link>https://www.scmgalaxy.com/tutorials/hardware-configuration-hardware-requirements-for-build-server/</link>
					<comments>https://www.scmgalaxy.com/tutorials/hardware-configuration-hardware-requirements-for-build-server/#comments</comments>
		
		<dc:creator><![CDATA[scmgalaxy K]]></dc:creator>
		<pubDate>Wed, 23 May 2012 09:43:23 +0000</pubDate>
				<category><![CDATA[Build Management & Tools]]></category>
		<category><![CDATA[Build]]></category>
		<category><![CDATA[Build server]]></category>
		<category><![CDATA[Build Server Hardware Configuration]]></category>
		<category><![CDATA[Build Server Hardware Configuration Requirements]]></category>
		<category><![CDATA[Build Server Hardware Requirements]]></category>
		<category><![CDATA[Configuration]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Hardware Configuration]]></category>
		<category><![CDATA[Hardware Configuration Requirements]]></category>
		<category><![CDATA[Hardware Requirements]]></category>
		<category><![CDATA[Hardware Requirements for Build Server]]></category>
		<category><![CDATA[Requirements]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[Things]]></category>
		<category><![CDATA[What]]></category>
		<guid isPermaLink="false">http://www.scmgalaxy.com/tutorials/2012/05/23/hardware-configuration-hardware-requirements-for-build-server/</guid>

					<description><![CDATA[<p>Hardware Configuration &#8211; Hardware Requirements for Build Server Reference: The Build Master: Microsoft&#8217;s Software Configuration Management Best Practices At a [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/hardware-configuration-hardware-requirements-for-build-server/">Hardware Configuration &#8211; What are the Hardware Requirements for Build Server?</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-3802 aligncenter" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2012/05/hardware-configuration-buil.png" alt="build-server-hardware-configuration-requirements" width="600" height="400" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2012/05/hardware-configuration-buil.png 600w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2012/05/hardware-configuration-buil-300x200.png 300w" sizes="auto, (max-width: 600px) 100vw, 600px" /></p>
<p><strong>Hardware Configuration &#8211; Hardware Requirements for Build Server</strong></p>
<p><strong>Reference: </strong>The Build Master: Microsoft&#8217;s Software Configuration Management Best Practices</p>
<p>At a minimum, the build lab should have four machines:</p>
<p><strong>Server that contains the Source Code Control program</strong>— This is your product. Do you really want this server residing someplace where you have little control over this box?</p>
<p><strong>Debug build machine for the mainline builds</strong>— If you don&#8217;t separate your debug and release machines, you will accidentally ship debug binaries, which is not a good thing.</p>
<p><strong>Release build machine for the mainline builds</strong>— This is a &#8220;golden goose&#8221; that turns out the &#8220;gold eggs&#8221; of your company or group. Treasure this machine like a princess, and guard it like all the king&#8217;s fortunes.</p>
<p><strong>Internal release share server</strong>— This is one more piece of hardware that stores the &#8220;bread and butter&#8221; of the group or company. Don&#8217;t give up control of this hardware to anyone unless your IT department reports through your development group.</p>
<p><strong>Hardware Requirements</strong><br />
Each machine in the preceding list should meet the following requirements:</p>
<p><strong>Number of processors—</strong> This depends on the build tool you use. One is usually sufficient, because few build tools really take advantage of multiple processors.</p>
<p><strong>Processor speed</strong>— The lab budget dictates this, but the faster the processor, the better it is.</p>
<p><strong>Amount of installed RAM</strong>— Max out the machine. RAM is relatively cheap these days, especially when you consider the performance increase you get. Increasing the RAM is usually the first upgrade done when trying to improve the performance of any computer.</p>
<p><strong>Number of hard drives</strong>— A minimum of two drives (or partitions) is preferred:</p>
<p>Drive 1 (C:) is for the operating system and installed applications.</p>
<p>Drive 2 (D:) is for building binaries, release shares, or the source database; the minimum space required is roughly ten times the space needed to build your application.</p>
<p>The split partitions are good because if you ever need to format or blow away a drive due to corruption, only part of the project will be affected. The recovery is much faster and easier.</p>
<p><strong>Hard drive type</strong>— This is most likely SCSI, but it could be IDE.</p>
<p><strong>Number of power supplies</strong>— If you purchase server class hardware (pizza boxes) that belong in racks, you need to consider how many power supplies to order.</p>
<p><strong>Motherboard BIOS version</strong>— This does make a difference. Make sure you note what is being used and standardize on it.</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/hardware-configuration-hardware-requirements-for-build-server/">Hardware Configuration &#8211; What are the Hardware Requirements for Build Server?</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/hardware-configuration-hardware-requirements-for-build-server/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Software Configuration Management in Pakistan &#124; SCM Practices in Pakistan</title>
		<link>https://www.scmgalaxy.com/tutorials/software-configuration-management-in-pakistan/</link>
					<comments>https://www.scmgalaxy.com/tutorials/software-configuration-management-in-pakistan/#respond</comments>
		
		<dc:creator><![CDATA[scmgalaxy K]]></dc:creator>
		<pubDate>Mon, 13 Dec 2010 10:38:37 +0000</pubDate>
				<category><![CDATA[Practice of Software Configuration Management]]></category>
		<category><![CDATA[CM]]></category>
		<category><![CDATA[CM Job Roles in Pakistan Software Industry]]></category>
		<category><![CDATA[Configuration]]></category>
		<category><![CDATA[Configuration Management]]></category>
		<category><![CDATA[Configuration Management in Pakistan IT Industry]]></category>
		<category><![CDATA[Configuration Management jobs in Pakistan]]></category>
		<category><![CDATA[Job Roles in Pakistan IT firms]]></category>
		<category><![CDATA[Management]]></category>
		<category><![CDATA[Pakistan]]></category>
		<category><![CDATA[Pakistan IT firms]]></category>
		<category><![CDATA[Pakistan Software Development Industry]]></category>
		<category><![CDATA[SCM]]></category>
		<category><![CDATA[SCM in Pakistan]]></category>
		<category><![CDATA[SCM practices in Pakistan]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[Software Configuration Management]]></category>
		<guid isPermaLink="false">http://www.scmgalaxy.com/tutorials/2010/12/13/software-configuration-management-in-pakistan/</guid>

					<description><![CDATA[<p>Mature CM is cross-business functionality NOT functionality solely within engineering. Software Configuration Management facilitates timely communications; enforces development policies and [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/software-configuration-management-in-pakistan/">Software Configuration Management in Pakistan | SCM Practices in Pakistan</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3894 aligncenter" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2010/12/software-configuration-mana.png" alt="software-configuration-management-in-pakistan" width="600" height="400" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2010/12/software-configuration-mana.png 600w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2010/12/software-configuration-mana-300x200.png 300w" sizes="auto, (max-width: 600px) 100vw, 600px" /></div>
<div style="text-align: justify;">Mature CM is cross-business functionality NOT functionality solely within engineering. Software Configuration Management facilitates timely communications; enforces development policies and technical standards along Management of Hand-offs between Environments and Teams efficiently.</div>
<p style="text-align: justify;">The practices and procedures for administering source code, producing software development builds, controlling change, and managing software configurations. Specifically, Software Configuration Management ensures the integrity, reliability and reproducibility of developing software products from conception to release.</p>
<p style="text-align: justify;">I should say CM in Pakistan has been catching up slow but very steadily. There are not many senior people in Pakistan who have dedicated their careers in Configuration Management. Many people moved on to various management roles out of CM after some years of experience. This is due to lack of management opportunities in this area. But, times have changed for good and are getting better. With the growing maturity of CM across the industry, organizations are giving utmost importance to this area and so are hiring people at very senior levels.</p>
<p style="text-align: justify;">I have around 3 years of experience while Interacting CM Professionals internationally and national level; found very strong maturity and awareness. With my experience, I would say Pakistan IT firms still need a broader thinking from CM perspective. In many organizations, people think that CM is just about making builds and controlling source code for projects. We need to educate people about the real importance of Software Configuration Management in any organization. There is a need of clear understanding of various aspects of Configuration Management like Change Management, Incident/Problem Management, Build &amp; release management, Code control/version control , Automated Build management , Parallel development and Continuous integration , Introduction to new tools for software and hardware configurations etc…</p>
<p style="text-align: justify;">CM is much beyond a tool administration or builds management. It does comprise entire life cycle of a project as well as the POST PRODUCTION analysis to improve the process for upcoming projects. It’s a continuous process which not only gives any IT organization a process to boost confidence in delivering quality product with stable code line.</p>
<p style="text-align: justify;">NetSol is vigilant and moving superbly toward innovation and automation through R&amp;D in the field of Configuration Management. Being the CMMI 5 organization; we have implemented excellent Release Management Process that beautifully interacting and entertaining CM Services throughout the organization. We are in process of experimenting Modern tools and discovering best practices for making our process incredibly easy and technically strong. NetSol’s Department of Configuration Management really welcomes newly born organizations and specially those (existing) who want to setup/improve their Configuration Management process and looking for technical improvement mentor; please come up and Consult NetSol with trust.</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/software-configuration-management-in-pakistan/">Software Configuration Management in Pakistan | SCM Practices in Pakistan</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/software-configuration-management-in-pakistan/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Configuration Management Tools Discussion</title>
		<link>https://www.scmgalaxy.com/tutorials/configuration-management-tools-discussion/</link>
					<comments>https://www.scmgalaxy.com/tutorials/configuration-management-tools-discussion/#respond</comments>
		
		<dc:creator><![CDATA[scmgalaxy K]]></dc:creator>
		<pubDate>Fri, 17 Sep 2010 01:03:01 +0000</pubDate>
				<category><![CDATA[Configuration Management Tools]]></category>
		<category><![CDATA[Better]]></category>
		<category><![CDATA[clearcase]]></category>
		<category><![CDATA[ClearCase Analysis]]></category>
		<category><![CDATA[Clearcase features]]></category>
		<category><![CDATA[ClearCase Review]]></category>
		<category><![CDATA[Compare]]></category>
		<category><![CDATA[Comparisons]]></category>
		<category><![CDATA[Configuration]]></category>
		<category><![CDATA[Configuration Management]]></category>
		<category><![CDATA[Configuration Management Tools Analysis]]></category>
		<category><![CDATA[Configuration Management Tools Comaparison]]></category>
		<category><![CDATA[Configuration Management Tools Feedback]]></category>
		<category><![CDATA[Configuration Management Tools Review]]></category>
		<category><![CDATA[Difference between Cleascase and other Configuration Management Tools]]></category>
		<category><![CDATA[Discussion]]></category>
		<category><![CDATA[Features]]></category>
		<category><![CDATA[How is clearecase better than other tools]]></category>
		<category><![CDATA[Management]]></category>
		<category><![CDATA[Select]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Why Clearcase is better]]></category>
		<guid isPermaLink="false">http://www.scmgalaxy.com/tutorials/2010/09/17/configuration-management-tools-discussion/</guid>

					<description><![CDATA[<p>My main experience is with ClearCase. I have read various descriptive comparisons between ClearCase and other available Software Management Version [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/configuration-management-tools-discussion/">Configuration Management Tools Discussion</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-4357" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2010/09/configuration-management.png" alt="configuration-management-tools-discussion" width="600" height="400" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2010/09/configuration-management.png 600w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2010/09/configuration-management-300x200.png 300w" sizes="auto, (max-width: 600px) 100vw, 600px" /></p>
<p>My main experience is with ClearCase. I have read various descriptive comparisons between ClearCase and other available Software Management Version tools. Which tool has your company implemented? What were the key features helped you select this tool over another one?</p>
<p><a title="Configuration Management Tools Discussion " href="http://cmtoolsblog.blogspot.com/">Configuration Management Tools Discussion </a></p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/configuration-management-tools-discussion/">Configuration Management Tools Discussion</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/configuration-management-tools-discussion/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
