<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Deploy on Sikkerhet.bouvet.no - For Security Champions in Bouvet</title>
		<link>https://sikkerhet.bouvet.no/en/deploy/</link>
		<description>Recent content in Deploy on Sikkerhet.bouvet.no - For Security Champions in Bouvet</description>
		<generator>Hugo</generator>
		<language>en</language>
		
		
		
		
			<atom:link href="https://sikkerhet.bouvet.no/en/deploy/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>CI/CD</title>
				<link>https://sikkerhet.bouvet.no/en/deploy/cicd/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://sikkerhet.bouvet.no/en/deploy/cicd/</guid>
				<description>&lt;p&gt;Continuous Integration and Continuous Delivery (CI/CD) are practices for automating the flow from code change to running solution. Pipelines provide a standardized process for building, verification, and rollout, and reduce the risk of manual errors.&lt;/p&gt;&#xA;&lt;p&gt;The point of CI/CD is not just speed but control. Each run should be traceable, repeatable, and have clear stopping points before anything goes to production.&lt;/p&gt;&#xA;&lt;figure class=&#34;sb-diagram&#34;&gt;&#xA;  &lt;div class=&#34;sb-diagram__scroll&#34;&gt;&#xA;    &lt;svg viewBox=&#34;0 0 900 340&#34; style=&#34;--sbd-min: 700px&#34;&#xA;         role=&#34;img&#34; aria-labelledby=&#34;pf-0-t pf-0-d&#34;&gt;&#xA;      &lt;title id=&#34;pf-0-t&#34;&gt;CI/CD flow from code change to production&lt;/title&gt;&#xA;      &lt;desc id=&#34;pf-0-d&#34;&gt;The developer commits changes from the dev environment to version control. From there the developer starts the CI/CD run, which builds the artefact on a build agent. The build agent deploys to the dev environment, the dev environment on to test, and going from test to production requires an approval first.&lt;/desc&gt;&#xA;      &lt;defs&gt;&#xA;        &lt;marker id=&#34;pf-0&#34; viewBox=&#34;0 0 10 10&#34; refX=&#34;9&#34; refY=&#34;5&#34;&#xA;                markerWidth=&#34;6&#34; markerHeight=&#34;6&#34; orient=&#34;auto-start-reverse&#34;&gt;&#xA;          &lt;path class=&#34;sbd-arrow&#34; d=&#34;M0 0 L10 5 L0 10 z&#34; /&gt;&#xA;        &lt;/marker&gt;&#xA;      &lt;/defs&gt;&#xA;      &lt;rect class=&#34;sbd-box sbd-box--user&#34; x=&#34;20&#34; y=&#34;40&#34; width=&#34;170&#34; height=&#34;60&#34; /&gt;&#xA;      &lt;text class=&#34;sbd-name&#34; x=&#34;105&#34; y=&#34;75&#34;&gt;Dev environment&lt;/text&gt;&#xA;&#xA;      &lt;path class=&#34;sbd-line&#34; marker-end=&#34;url(#pf-0)&#34; d=&#34;M190 70 H330&#34; /&gt;&#xA;      &lt;text class=&#34;sbd-edge&#34; x=&#34;196&#34; y=&#34;62&#34;&gt;Commits changes&lt;/text&gt;&#xA;&#xA;      &lt;path class=&#34;sbd-box&#34; d=&#34;M330 44 A85 13 0 0 1 500 44 V96 A85 13 0 0 1 330 96 Z&#34; /&gt;&#xA;      &lt;path class=&#34;sbd-rim&#34; d=&#34;M330 44 A85 13 0 0 0 500 44&#34; /&gt;&#xA;      &lt;text class=&#34;sbd-name&#34; x=&#34;415&#34; y=&#34;76&#34;&gt;Version control&lt;/text&gt;&#xA;&#xA;      &lt;path class=&#34;sbd-line&#34; marker-end=&#34;url(#pf-0)&#34; d=&#34;M500 70 H650&#34; /&gt;&#xA;      &lt;text class=&#34;sbd-edge&#34; x=&#34;508&#34; y=&#34;62&#34;&gt;CI/CD starts&lt;/text&gt;&#xA;&#xA;      &lt;rect class=&#34;sbd-box&#34; x=&#34;650&#34; y=&#34;40&#34; width=&#34;170&#34; height=&#34;60&#34; /&gt;&#xA;      &lt;text class=&#34;sbd-name&#34; x=&#34;735&#34; y=&#34;75&#34;&gt;Build agent&lt;/text&gt;&#xA;      &lt;path class=&#34;sbd-line&#34; marker-end=&#34;url(#pf-0)&#34; d=&#34;M735 100 V170 H105 V240&#34; /&gt;&#xA;      &lt;text class=&#34;sbd-edge&#34; x=&#34;743&#34; y=&#34;140&#34;&gt;Deploys to&lt;/text&gt;&#xA;&#xA;      &lt;rect class=&#34;sbd-box sbd-box--miljo&#34; style=&#34;--sbd-c: var(--sbd-gren-2)&#34;&#xA;            x=&#34;20&#34; y=&#34;240&#34; width=&#34;170&#34; height=&#34;60&#34; /&gt;&#xA;      &lt;text class=&#34;sbd-name&#34; x=&#34;105&#34; y=&#34;275&#34;&gt;Dev&lt;/text&gt;&#xA;&#xA;      &lt;path class=&#34;sbd-line&#34; marker-end=&#34;url(#pf-0)&#34; d=&#34;M190 270 H330&#34; /&gt;&#xA;      &lt;text class=&#34;sbd-edge&#34; x=&#34;198&#34; y=&#34;262&#34;&gt;Deploys to&lt;/text&gt;&#xA;&#xA;      &lt;rect class=&#34;sbd-box sbd-box--miljo&#34; style=&#34;--sbd-c: var(--sbd-gren-3)&#34;&#xA;            x=&#34;330&#34; y=&#34;240&#34; width=&#34;170&#34; height=&#34;60&#34; /&gt;&#xA;      &lt;text class=&#34;sbd-name&#34; x=&#34;415&#34; y=&#34;275&#34;&gt;Test&lt;/text&gt;&#xA;&#xA;      &lt;path class=&#34;sbd-line&#34; marker-end=&#34;url(#pf-0)&#34; d=&#34;M500 270 H650&#34; /&gt;&#xA;      &lt;text class=&#34;sbd-edge&#34; x=&#34;508&#34; y=&#34;250&#34;&gt;Requires approval,&lt;/text&gt;&#xA;      &lt;text class=&#34;sbd-edge&#34; x=&#34;508&#34; y=&#34;263&#34;&gt;deploys to&lt;/text&gt;&#xA;&#xA;      &lt;rect class=&#34;sbd-box sbd-box--miljo&#34; style=&#34;--sbd-c: var(--sbd-gren-4)&#34;&#xA;            x=&#34;650&#34; y=&#34;240&#34; width=&#34;170&#34; height=&#34;60&#34; /&gt;&#xA;      &lt;text class=&#34;sbd-name&#34; x=&#34;735&#34; y=&#34;275&#34;&gt;Prod&lt;/text&gt;&#xA;    &lt;/svg&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;figcaption&gt;The CI/CD flow from code change to production. The same artefact travels the whole way, and the stopping point before production is deliberate: every run should be traceable, repeatable and approved before it reaches end users.&lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;h2 id=&#34;principles-for-cicd&#34;&gt;Principles for CI/CD&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#principles-for-cicd&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Safe CI/CD practice is built on a few simple foundational principles:&lt;/p&gt;</description>
			</item>
			<item>
				<title>Building</title>
				<link>https://sikkerhet.bouvet.no/en/deploy/building/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://sikkerhet.bouvet.no/en/deploy/building/</guid>
				<description>&lt;p&gt;Building is the step where source code becomes a deployable artifact. The goal is for the artifact to be reproducible, verifiable, and traceable back to a specific commit and pipeline run.&lt;/p&gt;&#xA;&lt;p&gt;This article focuses on the building process itself. Overall pipeline management is described in &lt;a href=&#34;https://sikkerhet.bouvet.no/en/deploy/cicd/&#34;&gt;CI/CD&lt;/a&gt;, and deployment to environments is described in &lt;a href=&#34;https://sikkerhet.bouvet.no/en/deploy/deploy/&#34;&gt;Deployment&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;build-environments-and-build-agents&#34;&gt;Build environments and build agents&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#build-environments-and-build-agents&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Build agents typically come in two main forms:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Cloud provider-managed agents&lt;/li&gt;&#xA;&lt;li&gt;Self-hosted agents (in the cloud or on-premise)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Cloud provider-managed agents often provide lower operating costs and simpler maintenance. Self-hosted agents give you more control but full responsibility for hardening, patching, and access management.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Deploy</title>
				<link>https://sikkerhet.bouvet.no/en/deploy/deploy/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://sikkerhet.bouvet.no/en/deploy/deploy/</guid>
				<description>&lt;p&gt;Deployment starts after the artifact has been built and verified. The main principle is that the same artifact is promoted across environments without rebuilding in between.&lt;/p&gt;&#xA;&lt;p&gt;This article focuses on rollout to environments. Overall pipeline management is covered in &lt;a href=&#34;https://sikkerhet.bouvet.no/en/deploy/cicd/&#34;&gt;CI/CD&lt;/a&gt;, and details about safe artifact production in &lt;a href=&#34;https://sikkerhet.bouvet.no/en/deploy/building/&#34;&gt;Building&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;figure class=&#34;sb-diagram&#34;&gt;&#xA;  &lt;div class=&#34;sb-diagram__scroll&#34;&gt;&#xA;    &lt;svg viewBox=&#34;0 0 900 340&#34; style=&#34;--sbd-min: 700px&#34;&#xA;         role=&#34;img&#34; aria-labelledby=&#34;pf-2-t pf-2-d&#34;&gt;&#xA;      &lt;title id=&#34;pf-2-t&#34;&gt;CI/CD flow from code change to production&lt;/title&gt;&#xA;      &lt;desc id=&#34;pf-2-d&#34;&gt;The developer commits changes from the dev environment to version control. From there the developer starts the CI/CD run, which builds the artefact on a build agent. The build agent deploys to the dev environment, the dev environment on to test, and going from test to production requires an approval first.&lt;/desc&gt;&#xA;      &lt;defs&gt;&#xA;        &lt;marker id=&#34;pf-2&#34; viewBox=&#34;0 0 10 10&#34; refX=&#34;9&#34; refY=&#34;5&#34;&#xA;                markerWidth=&#34;6&#34; markerHeight=&#34;6&#34; orient=&#34;auto-start-reverse&#34;&gt;&#xA;          &lt;path class=&#34;sbd-arrow&#34; d=&#34;M0 0 L10 5 L0 10 z&#34; /&gt;&#xA;        &lt;/marker&gt;&#xA;      &lt;/defs&gt;&#xA;      &lt;rect class=&#34;sbd-box sbd-box--user&#34; x=&#34;20&#34; y=&#34;40&#34; width=&#34;170&#34; height=&#34;60&#34; /&gt;&#xA;      &lt;text class=&#34;sbd-name&#34; x=&#34;105&#34; y=&#34;75&#34;&gt;Dev environment&lt;/text&gt;&#xA;&#xA;      &lt;path class=&#34;sbd-line&#34; marker-end=&#34;url(#pf-2)&#34; d=&#34;M190 70 H330&#34; /&gt;&#xA;      &lt;text class=&#34;sbd-edge&#34; x=&#34;196&#34; y=&#34;62&#34;&gt;Commits changes&lt;/text&gt;&#xA;&#xA;      &lt;path class=&#34;sbd-box&#34; d=&#34;M330 44 A85 13 0 0 1 500 44 V96 A85 13 0 0 1 330 96 Z&#34; /&gt;&#xA;      &lt;path class=&#34;sbd-rim&#34; d=&#34;M330 44 A85 13 0 0 0 500 44&#34; /&gt;&#xA;      &lt;text class=&#34;sbd-name&#34; x=&#34;415&#34; y=&#34;76&#34;&gt;Version control&lt;/text&gt;&#xA;&#xA;      &lt;path class=&#34;sbd-line&#34; marker-end=&#34;url(#pf-2)&#34; d=&#34;M500 70 H650&#34; /&gt;&#xA;      &lt;text class=&#34;sbd-edge&#34; x=&#34;508&#34; y=&#34;62&#34;&gt;CI/CD starts&lt;/text&gt;&#xA;&#xA;      &lt;rect class=&#34;sbd-box&#34; x=&#34;650&#34; y=&#34;40&#34; width=&#34;170&#34; height=&#34;60&#34; /&gt;&#xA;      &lt;text class=&#34;sbd-name&#34; x=&#34;735&#34; y=&#34;75&#34;&gt;Build agent&lt;/text&gt;&#xA;      &lt;path class=&#34;sbd-line&#34; marker-end=&#34;url(#pf-2)&#34; d=&#34;M735 100 V170 H105 V240&#34; /&gt;&#xA;      &lt;text class=&#34;sbd-edge&#34; x=&#34;743&#34; y=&#34;140&#34;&gt;Deploys to&lt;/text&gt;&#xA;&#xA;      &lt;rect class=&#34;sbd-box sbd-box--miljo&#34; style=&#34;--sbd-c: var(--sbd-gren-2)&#34;&#xA;            x=&#34;20&#34; y=&#34;240&#34; width=&#34;170&#34; height=&#34;60&#34; /&gt;&#xA;      &lt;text class=&#34;sbd-name&#34; x=&#34;105&#34; y=&#34;275&#34;&gt;Dev&lt;/text&gt;&#xA;&#xA;      &lt;path class=&#34;sbd-line&#34; marker-end=&#34;url(#pf-2)&#34; d=&#34;M190 270 H330&#34; /&gt;&#xA;      &lt;text class=&#34;sbd-edge&#34; x=&#34;198&#34; y=&#34;262&#34;&gt;Deploys to&lt;/text&gt;&#xA;&#xA;      &lt;rect class=&#34;sbd-box sbd-box--miljo&#34; style=&#34;--sbd-c: var(--sbd-gren-3)&#34;&#xA;            x=&#34;330&#34; y=&#34;240&#34; width=&#34;170&#34; height=&#34;60&#34; /&gt;&#xA;      &lt;text class=&#34;sbd-name&#34; x=&#34;415&#34; y=&#34;275&#34;&gt;Test&lt;/text&gt;&#xA;&#xA;      &lt;path class=&#34;sbd-line&#34; marker-end=&#34;url(#pf-2)&#34; d=&#34;M500 270 H650&#34; /&gt;&#xA;      &lt;text class=&#34;sbd-edge&#34; x=&#34;508&#34; y=&#34;250&#34;&gt;Requires approval,&lt;/text&gt;&#xA;      &lt;text class=&#34;sbd-edge&#34; x=&#34;508&#34; y=&#34;263&#34;&gt;deploys to&lt;/text&gt;&#xA;&#xA;      &lt;rect class=&#34;sbd-box sbd-box--miljo&#34; style=&#34;--sbd-c: var(--sbd-gren-4)&#34;&#xA;            x=&#34;650&#34; y=&#34;240&#34; width=&#34;170&#34; height=&#34;60&#34; /&gt;&#xA;      &lt;text class=&#34;sbd-name&#34; x=&#34;735&#34; y=&#34;275&#34;&gt;Prod&lt;/text&gt;&#xA;    &lt;/svg&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;figcaption&gt;The CI/CD flow from code change to production. The same artefact travels the whole way, and the stopping point before production is deliberate: every run should be traceable, repeatable and approved before it reaches end users.&lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;h2 id=&#34;principles-for-safe-deployment&#34;&gt;Principles for safe deployment&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#principles-for-safe-deployment&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;To reduce operational and security risk, the deployment process should be built on:&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
