Professional Documents
Culture Documents
16.Available plugins
a. Delete files and directories: deletes files in directories. Available under
utilities fileutils
b. Download Artifacts: downloads the latest version of artifacts. Available
under respositoreies artifact IBM Urbancode deploy
c. Move directory: copies or moves the content of directory. Used to
deploy content to the target deployment server. Available under
Utilities fileutils
d. Create .zip file creates zip file available under utilities fileutils
e. Start tom cat : starts the tomcat server. Available under Application
server Java Tomcat folder . needs the field launcher code to start
the server, timeout and port field
f. Unzip: extracts contents of compressed file like war file: availabnle
Utilities fileutils
g. Update property file: updates the property file with location of the
database. Available under - Utilities fileutils. Has three fields
Directory offset - the folder or the field name of the property; property
file name of the property file; add/update properties the exact
property value
h. Undeploy application: used to remove any older version of the
application in the server. Available under Application server Java
Tomcat . needs following fields
i. tomcat manager url
ii. user name and password
iii. context name like /TESTCONTEXT
i. deploy application deploys the application in server similar to
undeploy. But needs additional field war file path
j. Upgrade DB Updates the database. Available under database
DBUgrader. Requires fields
i. driverclass name like com.mysql.jdbc.Driver
ii. DB Driver Jar file lib/mysql-connector-java-5.1.10-bin.jar
iii. url
iv. user, password
v. SQL File path field (generally has a . )
vi. SQL File Include like *.xml
vii. Current Version SQL can specifcy specify the following SQL code: SELECT VER
FROM DB_VERSION WHERE RELEASE_NAME = ?
viii. Delete Version SQL can specify specify the following SQL code: DELETE FROM
DB_VERSION WHERE RELEASE_NAME = ?
ix. Update Version SQL can specify specify the following SQL code: INSERT INTO
DB_VERSION (RELEASE_NAME,VER) VALUES(?,?)
Source config type File system (Versioned)- declaring that each folder
under the 'Base Path' folder is actually a named version of the
component. Each of the versioned folders actually contains the files for
that version.
28.Which screen shows the compliance i.e whether machine has the right
versions
Environment
29.Exporting components creates a JSON
30.What is component template upgrade type
If the imported component was originally created from a template, use the Component Template
Upgrade Type drop-down box to specify how you want to use the template. For these options, the
template must be on the importing server. If the imported component was not created from a template,
these options are ignored
To use the imported component's template, select Use Existing Template. The new component will
be an exact copy of the imported one and contain a pointer to the imported component's template.
This option is especially useful if you are importing a lot of components based on the same template.
If you are upgrading, the component will also point to the imported template.
35. Inactive component versions remain in the repository (unlike deleted versions) but cannot be deployed.
To render a component version inactive, use the Inactivate action for the version (Components>
[selectedcomponent]>Versions>[selectedversion]>Inactivate). To make an
inactive version active, use the Show Inactive Versions check box and the Activate action
36. A component process is a series of user-defined steps that operate on a component's artifacts. Each
component has at least one process defined for it and can have several. Component processes are created
with uDeploy's process editor
Deployment: deploys a component version to the target resource and updates the inventory after a
successful execution.
39.Default working directory - Defines the location used by the agent running
the process (for temporary files, etc.). The default value resolves to
agent_directory\work\component_name_directory. The default properties
work for most components; you might need to change it if a component
process cannot be run at the agent's location. Required
40.Required component role restricts who can run the process.
41.Component processes are typically run from within application processes but
can also be run by generic processes (Generic Processes) or other component
processes
42.A component manual task is a mechanism used to interrupt a component
process until some manual intervention is performed. A task-interrupted
process will remain suspended until the targeted user or users respond
43.Three types of roles in component manual task - component, environment
and resource roles
44.Post processing - When a plug-in step finishes processing, its default postprocessing element is executed. The postprocessing element is defined in the
plug-in's XML definition, see the section called Creating Plug-ins You can
override the default behavior by entering your own script into the step's Post
Processing Script field. A post-processing script can contain any valid
JavaScript code. Although not required, it's recommended that scripts be
wrapped in a CDATA element.
45.Component templates - There are two types of templates available:
A component template enables you save and reuse component processes
and properties and create new components from them; template-based
components inherit the template's properties and process.
A configuration template is typically used to save server or property
configurations
46.A role property can be access by {P:resource/<<rolename>>/<<property
name>>}
47.You can install an agent onto a Unix machine using the web application. A
remotely installed agent cannot be installed as a service
48.New agent is created under the menu Home resources agents
49.Managing agents - While we characterize an agent as a process (singular),
technically an agent consists of two processes: a worker process and a
monitor process. Worker processes perform the actual work of deployment,
such as handling plug-in steps. Monitor processes manage the worker
process: handling restarts, upgrades, and tests for example. Once an agent is
installed, you can manage (via the monitor process) many of it features from
c. TaskCreated
d. ProcessRequestStarted
e. DeploymentReadied
f. ApplicationDeploymentSuccess
g. Approval Failed
76.Create Snapshots:
a. Process Version locking field
i. Always use Latest Version Use the most recently defined
component process version for each component in the
application (default).
ii. Lock to Current Versions Use the current component process
version for each component.
b. For each of the component
i. Add Version Enables you to select any version in Codestation for
the component.
ii. Copy From Environment Uses the currently deployed (in this
environment) component version.
iii. Remove All Removes all deployed component versions from
this environment
c. Instead of specifying a version for each component, you can use the
most recently deployed version (in this environment) for each
component in the application by using the Copy All From Environment
button.
d. If you want to discard any selected component versions, use the Clear
All Components button.
77.Approval behavior will differ based on schedule deployments and nonscheduled deployments. If a process with an approval does not have a
scheduled deployment time, the process remains idle until a response is
made. When a scheduled deployment that requires approval reaches its start
time and the approval is not given, the process does not run and acts as a
rejected request
78.UrbanCode Deploy has four main components:
a. The controller server or servers, sit in the controlling service tier. They
provide the user interface, workflow engine, security service and more.
Users log into them via web browser or command line to configure the
tool, run deployments and view reports. These controllers have little
state, if one fails another load balanced controller can take over
seamlessly.
b. Configuration for UrbanCode Deploy is stored in a back-end database
(several database vendors are supported). Flat files, including
deployable artifacts and logs, are stored in a storage system known as
CodeStation which is typically backed by network storage.
c. Work done on a remote target to help a deployment or import new
versions is performed by Agents. Agents are small processes that do
work on behalf of the controller servers.
d. Agent Relays are essentially proxies and agent brokers that consolidate
traffic from many agents. They streamline firewall configuration and
lessen the load on the controllers.
79.For performance and other reasons, the UrbanCode Deploy controller servers
do not do deployment work. All deployment activities including moving files,
moves to the next step only if previous step was successful. If the component
process fails, then the application stops. You cant test the component
processes run right until you have the application process.
98.Various steps in step pallet of application process:
a. Install component choose a component deployment process to run
b. Install multiple components
c. Uninstall components remove all component versions from the
environment
d. Roll back component switch between different incremental
component versions
e. Run process for each version runs a component process for each
component version
f. Run process for each affected resource runs a generic process on
each resource that is affected in the application process
g. Apply configuration runs an operational (non-version) or config
deployment process
99.Operational processes are processes in which components do not require a
version
100.
Tags are set on ------- for an/a ----- (resources/environment)
101.
What is used for load balancing (Tags)
102.
Limit to tag option in properties window in component step limit the
deployment of component to specific resource tag
103.
Security mechanisms
a. Roles and permissions
b. Approvals tasks
c. Status gates
104.
Environmental approval is setup using two step process
a. First enable approval in the environment by selecting require approval
checkbox in Basic setting under applications app name
Environments configuration
b. Second define the approval from Applications app name
environments approval process and choose from either
application/environment/component approval task
105.
Status gates are created in two steps
a. First define the status gates from main menu settings statuses
version status add status button
b. Add the status gate from applications app name configuration
environment gates and select the statuses
106.
Application notification is set under application app name
configuration basic setting notification scheme
107.
Environment gates setting is available under configuration menu. Is it
available under app name environment configuration or app name
configuration (app name configuration)
108.
Menus available in main menu
a. Dashboard
b. Components
c. Applications
d. Configuration
e. Processes
f. Resources
g.
h.
i.
j.
Calendar
Work items
Reports
Setting
Note that there is no environment in main menu
109.
a.
b.
c.
d.
e.
f.
g.
h.
i.
110.
name
a. Resources
b. Hisotry
c. Calendar
d. Configuration
e. Approval process
f. Changes
111.
Snapshots help in audit, automation and visibility
112.
User defined set of resources that host an application.
113.
Environments have different topologies
114.
Environments are assigned to specific applications
115.
Approvals are assigned to specific environments
116.
Server output is written to the
server_install_directory/var/log/deployserver.out log file. you can open the
file directly or access it from the UI (Settings > System > Output Log).
117.
Resource groups can be of two types:
a. Static groups (the default type)
b. Dynamic groups
118.
When you create the group, select Manage Members Automatically
to create a dynamic group that will be populated by using a naming
convention or property lookup.
119.
Agent pool resources are used infrequently. When a step must run, but
the location doesnt matter, use an agent pool to distribute the load for
things like API calls.
120.
Component resources can only be added to agent resources or child
agent resources.
121.
Group of agents is an agent pool distributes the workload. Whichever
one is available you can use.
122.
Whats the difference between a resource and an environment? the
resources are for a higher level of abstraction.
123.
Resources dont do anything unless you have an agent and a
component. Agents define where it is being done and the component
resource defines what to do.
124.
You attach a resource to an environment.
125.
Resources have properties and tags.
126.
Resources can contain other resources in a hierarchical tree structure
127.
______ communicate with the Urban code deploy server to receive file
transfers and initiate operations on local computers to install application and
its pieces (Agents)
128.
An agent must be installed on each operating system upon which local
commands need to be invoked as part of the deployment. Agents can serve
as proxies by making remote calls to machines thats an agent on a relay
server. Relay server communicates to agents on different hosts. Many plugins
use protocols such as REST, JDBC, and SOAP to deploy to target hosts where
agents are not installed.
129.
the agent connects over Java message service (JMS) and subscribes
to a topic. Over JMS, the server instructs the agent to run a plug-in step and
provides a URL for HTTP connectivity. The agent downloads the required plugin, runs the step, and then sends execution output back to the server over
HTTP.
130.
Below are
a. WebSphere Cluster
b. IIS Application Pool
c. Oracle DB Schema
Examples of
(resources)
131.
Below are examples of
a. Destination directories
b. Credentials
c. API endpoints
d. JDBC connection strings
Resource Properties/resources
( resource properties)
132.
133.
Tags are applies to . (resources)
134.
To ensure that availability of servers is taken care and not all servers
are taken offline, UDC provides tags When you orchestrate processes, you
might want to run automation in phases. To do run in phases, you can use
resource tags. By tagging primary servers as Primary, you have the ability
to limit application process steps to run only on primary servers. Tags can be
used to model a blue-green or A-B deployment.
135.
What are the three type of resources
a. Agents
b. Resource Group
c. Component
136.
A resource template is a model for a group of resources. The template,
which is a starting point for creating new resources, contains a hierarchy of
resources, groups, and agent prototypes.
137.
Resource templates contain agent prototypes, which represent agents
that are not yet installed or connected to an environment. When you create
an environment, you can use a resource template as a model for the
environment. Then you can map real agents to the agent prototypes in the
template.
138.
Resource templates provide a pattern for an environment. For
example, you can use resource templates to represent dynamic cloud
environments.
139.
The main features that make up a component are as follows:
Source configuration
Component versions
Component properties
Component processes
140.
there are two flavors of plugins -the source config plugin or the
automation plugin.
141.
Component Type: You can select one of two types of components,
Standard and z/OS. Choose z/OS only if this component is intended to be
deployed to a mainframe.
142.
The Source Config Type is a way of specifying where you get artifacts.
When artifacts are imported automatically, IBM UrbanCode Deploy
periodically checks the artifacts for changes. Whenever changes are
detected, a new component version is created. You can control how often
artifacts are checked. You can import artifacts manually or have UrbanCode
146.
Inherit Cleanup Settings: Select this check box to inherit the
cleanup settings that are defined for the server. If not, you must define your
own cleanup policies. You usually check the inherit clean up box. That is to
use the default behavior. This has to do with how long versions are kept in
codestation. You can change the length of time the versions stay in
codestation in the system settings. The default is forever. If you have lots of
versions that is probably not what you want to do. By default it keeps every
version forever.
147.
Component process - There are different types of component
processes, deployment is the most commonly used. Uninstall takes a
component off a resource. It leaves the component but it takes it off a
resource. Operational - does not change actual inventory but changes
properties. An operational process does not add anything new to the
environment. Operational could do something to the environment like start a
server.
148.
Process type - After you import a version, you define the process type
that deploys it. The idea is to create a repeatable process that can be reused
as new versions of the component are developed.
149.
Inventory status - You can make your own statuses you could have a
complicated deployment that goes through different stages in which case you
could create your own statuses and direct UCD to use the different statuses
but by default there is only one active
150.
The Default Working Directory: This value is the location from
which the agent runs the process on the target computer. By default, you see
this entry:${p:resource/work.dir}/${p:component.name}
151.
Component process - The red circle indicates the direction to go if
the previous step fails. The gray circle indicates that you want the process to
follow a specific path regardless of whether the step passes or fails.
152.
Component templates allow you to reuse component processes on a
different component or you could define the properties for any component
you create. It could include the component processes or it could not.
153.
154.
155.
156.
Agents
Are installed on each deployment target.
Communicate with the UrbanCode Deploy Server to receive file
transfers and initiate operations on local computers to install and
initiate the application pieces.
Local operations are accomplished with plug-ins.
Agents include Groovy libraries for running plug-ins, but plug-ins
can be written in any language or format that provides execution
capability on the local computer.
Main menu
157.
Basic workflow
Create a base resource.
Add an agent to your base resource.
Create a component.
Add versions to your components.
Add component processes to your components.
Create an application.
Add components to your application.
Create application processes.
Create application environments.
Add a base resource to the application environment.
Add to the agents in resource tree component resources for each
component that is used in your application
In the application environment click Run Process
158.
Agents
Light-weight processes that are installed on every deployment target
(resource).
Provide two-way communication with the UrbanCode server
Stateless (resilient to network outages)
Can be secured by using SSL
Built on Java (requires JVM 1.7 or later)
159.
IBM UrbanCode Deploy provides two types of plugins to define
deployment processes, with one type being referred to as Source
Configuration plugins. What is the other plugin type?
Automation
160.
What is the difference between an application process and a
component process?
A. An application process coordinates component processes, while a
component process models automation of artifact deployment using
plugin steps
161.
162.
163.
At a high level, the security system in UCD consists of an
authentication realm, authorization realm, roles, and teams.
164.
Authentication : This deals with user credentials , things like Can the
user log ? Does LDAP directory know this user, Has this user given valid
password ?It basically addresses the part Who you are
165.
Authorization : Now that user has logged in , what the user actually
sees and can do in system is dealt here .
166.
Role : Roles are all about levels of access , Roles do not know
anything about user or teams . For example A developer-type role might
have permissions that enable it to create applications but not run them in
production environments, while a deploy-type role might be able to run
applications but not create them.
167.
Team : Teams provide two important functions. First, a team provides
the mechanism to assign users roles. When a user is assigned a role, all
permissions that are granted to the role are automatically granted to the
user. Second, teams secure product resources. When a team is attached to a
resource, only team members with the appropriate permissions can interact
with the affected resource.
168.
Resource properties will not resolve in the application process scope as the
application process does not run against any specific resource. You'll have to reference the
property in the component process in order to have it resolve correctly
169.
The component resource type is used to further fine tune access to your component
based on the team mapping. You can configure different permissions for your roles based on
what resource type you have defined. This is only visible from you component when you add
a team to your component. You would then have to select a different component resource
type from the standard component resource type.
170.
The core installation of IBM UrbanCode Deploy includes a server, agents, and a
license server. Clients access the server through web browsers, the REST API, or the
command-line client. Agents can be installed on cloud environments, virtual machines
(VMs), containers, or physical systems; the agents are shown on cloud systems in the
following diagrams, but they can be installed on many different systems
171.
Most agent communication is via JMS (bi-directional). Some
activities use HTTP, however (one-directional from agent to server):
Posting logs
Transmitting test results
Posting files to CodeStation
172.
In simple configurations, agents communicate directly with the
UrbanCode server.
In more complex situations, direct communication becomes inefficient
or impossible:
The number of agents increase from tens to hundreds to thousands.
Network topology becomes complex.
Agent-server communication crosses firewalls with port restrictions.
Agent relay servers resolve this issue.
173.
174.
175.
176.
Stateless server-agent communication
Significant benefits to performance, security, availability, and disaster
recovery are provided.
A transaction consists of an independent message.
The message can be synchronized to secondary storage as it is sent.
This synchronization results in resilience to network outages. Either
endpoint, server or agent, can be taken down and brought back up
without repercussion (other than lost time).
If communications fail midtransaction, these actions occur upon
reconnection:
The server and agent automatically determine which messages got through
and what work was completed.
The system synchronizes the endpoints and recovers affected processes.
The agent communicates the results of work that an agent performed to the
server.
177.
DEVOPS PRINCIPAL
Develop and test against a production-like system
Iterative and frequent deployments using repeatable and reliable processes
Continuously monitor and validate operational quality characteristics
Amplify feedback loops
178.
DEPLOYMENT STAGE
Commit stage compile, commit tests, assemble, code analysis
Acceptance stage configure environment, deploy binaries, smoke test,
acceptance test
Uat stage /capacity stage/production stage - configure environment, deploy
binaries, smoke test. In addition to this capacity stage has run capacity test
179.
Typical deployment
Content Deployments
Incremental content updates
Rollbacks
Middleware Code Deployments
Install and rollback of code
Run-book automation (restart, etc.)
Middleware Configuration Deployments
Declarative description of configuration change
Install and rollback of config change
DB Deployments
Execution of DB change scripts in order
Rollback
Processes
Coordinates component level processes
Same processes used across environments
180.
181.
Resource:
- Translates between agents (actual execution) and logicl deployment
targets for uDeploy
- Can point to another resource, agent, or pool, but it
must be able to resolve to an agent somehow
- Best place to put target-specific configuration
182.
UrbanCode improves software delivery enabling continuous release
and deployment via application release automation, helping to drive down
costs, speed time to market and reduce risk.
183.
Deployment Automation Developer or Deploy Administrator imports
the AMC Plug-in into Deploy. The Plug-in is configured to auto-discover WAS
installs on specific resources so when the agent comes on-line it will invoke
the AMC plug-in which will discover the cell topology and create WAS Cell and
WAS Cluster subresources back on the Deploy server.
184.
A Middleware Administrator or Application Developer unzips the AMC
plug-in on a system that has connectivity to the exemplar WAS cell
185.
The Middleware Administrator or Application Developer will run a script
packaged in the AMC plug-in that will prompt for some information, then
discover and import configuration from the exemplar WAS cell
186.
The AMC template creation script will ask the user for a base product
template (e.g. WAS v8.5) and to chose what configuration data from the
imported cell should be added (either only cell scoped configuration or a
cluster configuration). Note that if any custom tokens are required (e.g. host
specific information like JDBC connection URL, etc.), then the Middleware
Administrator or Application Developer will need to open the appropriate
template file up for editing and insert the tokens manually. They will then
need to create appropriate properties on the appropriate WAS Cell/Cluster
resources to ensure the token substitution happens correctly during
deployment (this is not directly shown in the diagram above for the sake of
clarity).
187.
The AMC template creation script will prompt the user for information
required to connect to a Deploy server, including the name of the WAS
configuration component and will create/update the template in CodeStation.
188.
The Deployment Automation Developer should now have all the Deploy
artifacts he needs to assemble the Application including deploy/undeploy
processes
189.
The application, including WAS configuration, can be deployed and
promoted across all environments defined in the application
190.
In networking terms, agents establish long-lived JMS connections with
the relay (default port 7916) and the relay establishes long-lived JMS
connections with the central server (default port 7918). The server
communicates back over these persistent connections to issue instructions to
the agents. Agents can be instructed to interact with the server via web
services, which take place on HTTP/S (default ports 8080 for HTTP, and 8443
for HTTPS). For agent-agent relay HTTP/S communications the default port is
20080.
191.
192.
Component Version Import
Manually Importing Component Versions
To import a new component version manually, you will need click
Import New Version and specify the source location of the content you
will deploy. The source location of the new version will have to be
different from the original location of version 1. If the source location is
in a version repository, you can point to the repository and uDeploy will
pull the new version from it.
Automatically Importing Component Versions
To import a new version automatically, we will edit the component, and
check Import Versions Automatically, see Screen 3. When checked,
uDeploy will periodically poll the version source on the uDeploy server.
The user specifies the polling time in uDeploys System Settings.
uDeploy recommends that you not set the polling time below 15
seconds. When the polling time expires, uDeploy checks the source
repository for changes within the component. If any changes have
occurred, the component will automatically be imported and versioned
in uDeploy. If Copy to CodeStation is also selected, uDeploy will import
a copy of the new version into CodeStation.
uDeploy tracks all artifact changes which enables you to rollback components
or deploy multiple versions of the same one.
193.
Component Template Properties- Ensures that every component
created from a template has the same properties
Properties
Environment Property
194.
Steps
a. A step has access to properties set earlier by other steps within the
process.
b. Properties set by the application that invoked the component process
as well as those on the Target environment and resource.
c. Step property values become unavailable once the component process
ends
d. Every item from the table below will use this format, $
{p:version.name} ${p:enviornment/propname}
Order of Precedence:
Process
Component Version
Resource
Agent
Environment
Component
Application
System
195.
A subresource enables you to apply logical identifiers, or categories,
within any given Resource Group. During deployment configuration, you can
Select a given subresource that the Process will run on.
196.
197.
Authentication Realms determine a users identity within an
Authorization Realm. Authentication is determined following the hierarchy of
realms
198.
When adding component versions, use the push method
wherever possible. Polling methods, such as a Nexus repository, strain both
uDeploy and the repository, which can lead to versions being missed or
duplicated.
199.
200.
Server log
a. You can download the uDeploy server log from within the web
application.
b. To download the log file:
c. 1. Display the Output Log dialog by clicking the Output Log link on the
Settings pane.