{"id":170,"date":"2020-03-04T10:30:00","date_gmt":"2020-03-04T09:30:00","guid":{"rendered":"https:\/\/www.codemotion.com\/magazine\/ci-cd-automation-for-fn-project-with-oracle-faas-and-developer-cloud-service\/"},"modified":"2022-01-05T20:00:39","modified_gmt":"2022-01-05T19:00:39","slug":"ci-cd-automation-for-fn-project-with-oracle-faas-and-developer-cloud-service","status":"publish","type":"post","link":"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/ci-cd-automation-for-fn-project-with-oracle-faas-and-developer-cloud-service\/","title":{"rendered":"CI\/CD Automation for Fn Project with Oracle FaaS and Developer Cloud Service"},"content":{"rendered":"\t\t\t\t<div class=\"wp-block-uagb-table-of-contents uagb-toc__align-left uagb-toc__columns-1  uagb-block-561f7d56      \"\n\t\t\t\t\tdata-scroll= \"1\"\n\t\t\t\t\tdata-offset= \"30\"\n\t\t\t\t\tstyle=\"\"\n\t\t\t\t>\n\t\t\t\t<div class=\"uagb-toc__wrap\">\n\t\t\t\t\t\t<div class=\"uagb-toc__title\">\n\t\t\t\t\t\t\tTable Of Contents\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"uagb-toc__list-wrap \">\n\t\t\t\t\t\t<ol class=\"uagb-toc__list\"><li class=\"uagb-toc__list\"><a href=\"#docker-login\" class=\"uagb-toc-link__trigger\">Docker Login<\/a><li class=\"uagb-toc__list\"><a href=\"#ocicli-configuration\" class=\"uagb-toc-link__trigger\">OCIcli Configuration<\/a><li class=\"uagb-toc__list\"><a href=\"#oci-fn-configuration\" class=\"uagb-toc-link__trigger\">OCI Fn Configuration<\/a><li class=\"uagb-toc__list\"><a href=\"#fn-build\" class=\"uagb-toc-link__trigger\">Fn Build<\/a><li class=\"uagb-toc__list\"><a href=\"#fn-deploy\" class=\"uagb-toc-link__trigger\">Fn Deploy<\/a><\/ol>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\n\n\n<div class=\"wp-block-image  eplus-h86Xsv\"><figure class=\"aligncenter\"><a href=\"https:\/\/developer.oracle.com\/code\/rome-april-2019?source=:ex:nc:::RC_WWMK181101P00041:CodemotionArticle2&amp;SC=:ex:nc:::RC_WWMK181101P00041:CodemotionArticle2&amp;pcode=WWMK181101P00041\"><img decoding=\"async\" src=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/03\/oracle.jpg\" alt=\"\" class=\"wp-image-2474\"\/><\/a><\/figure><\/div>\n\n\n\n<p class=\" eplus-15fYfl\">This article written by Shay Shmeltzer, Director of Product Management at Oracle, was originally published on <a href=\"https:\/\/blogs.oracle.com\/developers\/cicd-automation-for-project-fn-with-oracle-faas-and-developer-cloud-service\" target=\"_blank\" rel=\"noopener noreferrer\">Oracle Developers Portal<\/a>.<\/p>\n\n\n\n<div class=\"wp-block-image  eplus-dg7mn8\"><figure class=\"aligncenter\"><a href=\"https:\/\/blogs.oracle.com\/developers\/cicd-automation-for-project-fn-with-oracle-faas-and-developer-cloud-service\"><img decoding=\"async\" src=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/03\/screen_shot_2019_02_25_at_4_24_51_pm.jpg\" alt=\"\" class=\"wp-image-2474\"\/><\/a><\/figure><\/div>\n\n\n\n<p class=\" eplus-XFeanH\">By this time you will probably have seen multiple blogs about the Fn Project &#8211; an open-source, multi-language, container-native <a href=\"https:\/\/www.codemotion.com\/magazine\/dev-hub\/cloud-manager\/going-serverless-the-easy-way\/\" class=\"ek-link\">serverless<\/a> platform. You may already have heard that Oracle is going to offer a cloud-hosted Function as a Service (FaaS) for Fn-based functions called Oracle Functions &#8211; currently available with limited access (<a rel=\"noopener noreferrer\" href=\"https:\/\/go.oracle.com\/LP=78019\" target=\"_blank\" class=\"ek-link\">get your invite to try it out here<\/a>).<\/p>\n\n\n\n<p class=\" eplus-mktjSV\">So, how do you create an automated CI\/CD chain for your Fn functions?<\/p>\n\n\n\n<p class=\" eplus-vH3CWg\">Oracle Developer Cloud Service now provides built-in functionality to support you.<\/p>\n\n\n\n<p class=\" eplus-mxqcLb\">DevCS supports Fn Project functions life cycle command definition in our CI\/CD jobs. This means that you can automate Fn build and deploy steps in a declarative way. We also added support that enables levergaing the hosted FaaS offering in the cloud and CI\/CD directly into that environment.<\/p>\n\n\n\n<p class=\" eplus-2JggHW\">Here are the basic steps to get DevCS hooked up to your Fn-based FaaS service running in the Oracle Cloud Infrastructure.<\/p>\n\n\n\n<p class=\" eplus-Q4R3cD\">Your build will have several steps, including:<\/p>\n\n\n\n<h2 class=\"eplus-HDAKrF wp-block-heading\">Docker Login<\/h2>\n\n\n\n<p class=\" eplus-2kbDpN\">This will let you connect to the hosted docker registry in the Oracle Cloud (OCIR)<\/p>\n\n\n\n<p class=\" eplus-Z8bQwS\">Provide your OCIR url (phx.ocir.io, for example), your user ID(tenancy\/username), and your auth token (N.B.this is not the password but rather the auth token you get from identity->user->auth tokens).<\/p>\n\n\n\n<div class=\"wp-block-image  eplus-WTyI7Y\"><figure class=\"aligncenter\"><a href=\"https:\/\/blogs.oracle.com\/developers\/cicd-automation-for-project-fn-with-oracle-faas-and-developer-cloud-service\"><img decoding=\"async\" src=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/03\/screen_shot_2019_02_25_at_4_09_58_pm.jpg\" alt=\"\" class=\"wp-image-2474\"\/><\/a><\/figure><\/div>\n\n\n\n<h2 class=\"eplus-aC3hVr wp-block-heading\">OCIcli Configuration<\/h2>\n\n\n\n<p class=\" eplus-NtNK5E\">The next step is to configure access to your OCI environment by picking up the OCIcli build step. Then, provide information including your user&#8217;s OCID and Fingerprint, your tenancy OCID, your region, and paste in the private key that you generated.<\/p>\n\n\n\n<div class=\"wp-block-image  eplus-ITZLXS\"><figure class=\"aligncenter\"><a href=\"https:\/\/blogs.oracle.com\/developers\/cicd-automation-for-project-fn-with-oracle-faas-and-developer-cloud-service\"><img decoding=\"async\" src=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/03\/screen_shot_2019_02_25_at_4_12_27_pm.jpg\" alt=\"\" class=\"wp-image-2474\"\/><\/a><\/figure><\/div>\n\n\n\n<h2 class=\"eplus-fL0Wsg wp-block-heading\">OCI Fn Configuration<\/h2>\n\n\n\n<p class=\" eplus-VIWvpL\">Now that your OCI connection is set, let&#8217;s add the specific configuration for your FaaS instance. From the Fn menu in DevCS pick up the Fn OCI option. Configure it with the details of the Fn environment you created, including the compartment ID, the provider (Oracle), and the passphrase you used when you created your private key.<\/p>\n\n\n\n<p class=\" eplus-x82C7l\">Your environment is now ready to use the specific Fn lifecycle commands. We are going to assume that your Fn function code is in the root directory of the Git repository you hooked up to the build job.<\/p>\n\n\n\n<div class=\"wp-block-image  eplus-3wpjTc\"><figure class=\"aligncenter\"><a href=\"https:\/\/blogs.oracle.com\/developers\/cicd-automation-for-project-fn-with-oracle-faas-and-developer-cloud-service\"><img decoding=\"async\" src=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/03\/screen_shot_2019_02_25_at_4_17_54_pm.jpg\" alt=\"\" class=\"wp-image-2474\"\/><\/a><\/figure><\/div>\n\n\n\n<h2 class=\"eplus-NFk5vR wp-block-heading\">Fn Build<\/h2>\n\n\n\n<p class=\" eplus-c3cczi\">The first step will build the function for us. If the code is at the root of your Git, then you need only specify the Registry Host (<em>phx.ocir.io<\/em>) and the username (tenant\/user). You may also choose to check the box to get verbose output from the build operation.<\/p>\n\n\n\n<div class=\"wp-block-image  eplus-UDrLXl\"><figure class=\"aligncenter\"><a href=\"https:\/\/blogs.oracle.com\/developers\/cicd-automation-for-project-fn-with-oracle-faas-and-developer-cloud-service\"><img decoding=\"async\" src=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/03\/screen_shot_2019_02_25_at_4_26_57_pm.jpg\" alt=\"\" class=\"wp-image-2474\"\/><\/a><\/figure><\/div>\n\n\n\n<h2 class=\"eplus-BPJ1yx wp-block-heading\">Fn Deploy<\/h2>\n\n\n\n<p class=\" eplus-nGzeWw\">If the Build was successful the next step is to deploy it to our FaaS service. First, make sure you created an app in your FaaS function console. Use the name of that app to fill in the &#8220;Deploy to App&#8221; field. Fill out the Registry Host and Username field as in the previous step, and don&#8217;t forget to add the API URL (<em>https:\/\/functions.us-phoenix-1.oraclecloud.com<\/em>). You can then choose additional options such as verbose output, bumping the version of the app, etc.<\/p>\n\n\n\n<div class=\"wp-block-image  eplus-333B83\"><figure class=\"aligncenter\"><a href=\"https:\/\/blogs.oracle.com\/developers\/cicd-automation-for-project-fn-with-oracle-faas-and-developer-cloud-service\"><img decoding=\"async\" src=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/03\/screen_shot_2019_02_25_at_4_24_51_pm-1.jpg\" alt=\"\" class=\"wp-image-2474\"\/><\/a><\/figure><\/div>\n\n\n\n<p class=\" eplus-Vh1H14\">Now run the Build and watch the magic take place.<\/p>\n\n\n\n<p class=\" eplus-9lxF27\">Check out the video below to see it in action.<\/p>\n\n\n\n<figure class=\"wp-block-embed-youtube aligncenter wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Automating CI\/CD for Project Fn with Oracle Developer Cloud Service\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube-nocookie.com\/embed\/Gcx2gt06irQ?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>This article written by Shay Shmeltzer, Director of Product Management at Oracle, was originally published on Oracle Developers Portal. By this time you will probably have seen multiple blogs about the Fn Project &#8211; an open-source, multi-language, container-native serverless platform. You may already have heard that Oracle is going to offer a cloud-hosted Function as&#8230; <a class=\"more-link\" href=\"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/ci-cd-automation-for-fn-project-with-oracle-faas-and-developer-cloud-service\/\">Read more<\/a><\/p>\n","protected":false},"author":64,"featured_media":3540,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_editorskit_title_hidden":false,"_editorskit_reading_time":3,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","_uag_custom_page_level_css":"","_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","footnotes":""},"categories":[5244],"tags":[3360,75],"collections":[],"class_list":{"0":"post-170","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-cloud","8":"tag-database","9":"tag-serverless","10":"entry"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.9 (Yoast SEO v26.9) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>CI\/CD Automation: Oracle FaaS &amp; Developer Cloud Service - Codemotion<\/title>\n<meta name=\"description\" content=\"Shay Shmeltzer, Director of Product Management at Oracle, explains how to create an automated CI\/CD chain for your Fn functions.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/ci-cd-automation-for-fn-project-with-oracle-faas-and-developer-cloud-service\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"CI\/CD Automation for Fn Project with Oracle FaaS and Developer Cloud Service\" \/>\n<meta property=\"og:description\" content=\"Shay Shmeltzer, Director of Product Management at Oracle, explains how to create an automated CI\/CD chain for your Fn functions.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/ci-cd-automation-for-fn-project-with-oracle-faas-and-developer-cloud-service\/\" \/>\n<meta property=\"og:site_name\" content=\"Codemotion Magazine\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Codemotion.Italy\/\" \/>\n<meta property=\"article:published_time\" content=\"2020-03-04T09:30:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-01-05T19:00:39+00:00\" \/>\n<meta name=\"author\" content=\"Codemotion\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/04\/Retina-Display-628319502.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@CodemotionIT\" \/>\n<meta name=\"twitter:site\" content=\"@CodemotionIT\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Codemotion\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/ci-cd-automation-for-fn-project-with-oracle-faas-and-developer-cloud-service\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/ci-cd-automation-for-fn-project-with-oracle-faas-and-developer-cloud-service\/\"},\"author\":{\"name\":\"Codemotion\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/201bb98b02412383686cced7521b861c\"},\"headline\":\"CI\/CD Automation for Fn Project with Oracle FaaS and Developer Cloud Service\",\"datePublished\":\"2020-03-04T09:30:00+00:00\",\"dateModified\":\"2022-01-05T19:00:39+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/ci-cd-automation-for-fn-project-with-oracle-faas-and-developer-cloud-service\/\"},\"wordCount\":572,\"publisher\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/ci-cd-automation-for-fn-project-with-oracle-faas-and-developer-cloud-service\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/04\/Retina-Display-628319502.jpg\",\"keywords\":[\"Database\",\"Serverless\"],\"articleSection\":[\"Cloud\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/ci-cd-automation-for-fn-project-with-oracle-faas-and-developer-cloud-service\/\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/ci-cd-automation-for-fn-project-with-oracle-faas-and-developer-cloud-service\/\",\"name\":\"CI\/CD Automation: Oracle FaaS & Developer Cloud Service - Codemotion\",\"isPartOf\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/ci-cd-automation-for-fn-project-with-oracle-faas-and-developer-cloud-service\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/ci-cd-automation-for-fn-project-with-oracle-faas-and-developer-cloud-service\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/04\/Retina-Display-628319502.jpg\",\"datePublished\":\"2020-03-04T09:30:00+00:00\",\"dateModified\":\"2022-01-05T19:00:39+00:00\",\"description\":\"Shay Shmeltzer, Director of Product Management at Oracle, explains how to create an automated CI\/CD chain for your Fn functions.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/ci-cd-automation-for-fn-project-with-oracle-faas-and-developer-cloud-service\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/ci-cd-automation-for-fn-project-with-oracle-faas-and-developer-cloud-service\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/ci-cd-automation-for-fn-project-with-oracle-faas-and-developer-cloud-service\/#primaryimage\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/04\/Retina-Display-628319502.jpg\",\"contentUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/04\/Retina-Display-628319502.jpg\",\"width\":1003,\"height\":675,\"caption\":\"CI\/CD\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/ci-cd-automation-for-fn-project-with-oracle-faas-and-developer-cloud-service\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.codemotion.com\/magazine\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"DevOps\",\"item\":\"https:\/\/www.codemotion.com\/magazine\/devops\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Cloud\",\"item\":\"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"CI\/CD Automation for Fn Project with Oracle FaaS and Developer Cloud Service\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#website\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/\",\"name\":\"Codemotion Magazine\",\"description\":\"We code the future. Together\",\"publisher\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.codemotion.com\/magazine\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#organization\",\"name\":\"Codemotion\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png\",\"contentUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png\",\"width\":225,\"height\":225,\"caption\":\"Codemotion\"},\"image\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/Codemotion.Italy\/\",\"https:\/\/x.com\/CodemotionIT\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/201bb98b02412383686cced7521b861c\",\"name\":\"Codemotion\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/cropped-codemotionlogo-150x150.png\",\"contentUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/cropped-codemotionlogo-150x150.png\",\"caption\":\"Codemotion\"},\"description\":\"Articles wirtten by the Codemotion staff. Tech news, inspiration, latest treends in software development and more.\",\"sameAs\":[\"https:\/\/x.com\/CodemotionIT\"],\"url\":\"https:\/\/www.codemotion.com\/magazine\/author\/codemotion-2\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"CI\/CD Automation: Oracle FaaS & Developer Cloud Service - Codemotion","description":"Shay Shmeltzer, Director of Product Management at Oracle, explains how to create an automated CI\/CD chain for your Fn functions.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/ci-cd-automation-for-fn-project-with-oracle-faas-and-developer-cloud-service\/","og_locale":"en_US","og_type":"article","og_title":"CI\/CD Automation for Fn Project with Oracle FaaS and Developer Cloud Service","og_description":"Shay Shmeltzer, Director of Product Management at Oracle, explains how to create an automated CI\/CD chain for your Fn functions.","og_url":"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/ci-cd-automation-for-fn-project-with-oracle-faas-and-developer-cloud-service\/","og_site_name":"Codemotion Magazine","article_publisher":"https:\/\/www.facebook.com\/Codemotion.Italy\/","article_published_time":"2020-03-04T09:30:00+00:00","article_modified_time":"2022-01-05T19:00:39+00:00","author":"Codemotion","twitter_card":"summary_large_image","twitter_image":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/04\/Retina-Display-628319502.jpg","twitter_creator":"@CodemotionIT","twitter_site":"@CodemotionIT","twitter_misc":{"Written by":"Codemotion","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/ci-cd-automation-for-fn-project-with-oracle-faas-and-developer-cloud-service\/#article","isPartOf":{"@id":"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/ci-cd-automation-for-fn-project-with-oracle-faas-and-developer-cloud-service\/"},"author":{"name":"Codemotion","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/201bb98b02412383686cced7521b861c"},"headline":"CI\/CD Automation for Fn Project with Oracle FaaS and Developer Cloud Service","datePublished":"2020-03-04T09:30:00+00:00","dateModified":"2022-01-05T19:00:39+00:00","mainEntityOfPage":{"@id":"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/ci-cd-automation-for-fn-project-with-oracle-faas-and-developer-cloud-service\/"},"wordCount":572,"publisher":{"@id":"https:\/\/www.codemotion.com\/magazine\/#organization"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/ci-cd-automation-for-fn-project-with-oracle-faas-and-developer-cloud-service\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/04\/Retina-Display-628319502.jpg","keywords":["Database","Serverless"],"articleSection":["Cloud"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/ci-cd-automation-for-fn-project-with-oracle-faas-and-developer-cloud-service\/","url":"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/ci-cd-automation-for-fn-project-with-oracle-faas-and-developer-cloud-service\/","name":"CI\/CD Automation: Oracle FaaS & Developer Cloud Service - Codemotion","isPartOf":{"@id":"https:\/\/www.codemotion.com\/magazine\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/ci-cd-automation-for-fn-project-with-oracle-faas-and-developer-cloud-service\/#primaryimage"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/ci-cd-automation-for-fn-project-with-oracle-faas-and-developer-cloud-service\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/04\/Retina-Display-628319502.jpg","datePublished":"2020-03-04T09:30:00+00:00","dateModified":"2022-01-05T19:00:39+00:00","description":"Shay Shmeltzer, Director of Product Management at Oracle, explains how to create an automated CI\/CD chain for your Fn functions.","breadcrumb":{"@id":"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/ci-cd-automation-for-fn-project-with-oracle-faas-and-developer-cloud-service\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/ci-cd-automation-for-fn-project-with-oracle-faas-and-developer-cloud-service\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/ci-cd-automation-for-fn-project-with-oracle-faas-and-developer-cloud-service\/#primaryimage","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/04\/Retina-Display-628319502.jpg","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/04\/Retina-Display-628319502.jpg","width":1003,"height":675,"caption":"CI\/CD"},{"@type":"BreadcrumbList","@id":"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/ci-cd-automation-for-fn-project-with-oracle-faas-and-developer-cloud-service\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.codemotion.com\/magazine\/"},{"@type":"ListItem","position":2,"name":"DevOps","item":"https:\/\/www.codemotion.com\/magazine\/devops\/"},{"@type":"ListItem","position":3,"name":"Cloud","item":"https:\/\/www.codemotion.com\/magazine\/devops\/cloud\/"},{"@type":"ListItem","position":4,"name":"CI\/CD Automation for Fn Project with Oracle FaaS and Developer Cloud Service"}]},{"@type":"WebSite","@id":"https:\/\/www.codemotion.com\/magazine\/#website","url":"https:\/\/www.codemotion.com\/magazine\/","name":"Codemotion Magazine","description":"We code the future. Together","publisher":{"@id":"https:\/\/www.codemotion.com\/magazine\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.codemotion.com\/magazine\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.codemotion.com\/magazine\/#organization","name":"Codemotion","url":"https:\/\/www.codemotion.com\/magazine\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png","width":225,"height":225,"caption":"Codemotion"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Codemotion.Italy\/","https:\/\/x.com\/CodemotionIT"]},{"@type":"Person","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/201bb98b02412383686cced7521b861c","name":"Codemotion","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/image\/","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/cropped-codemotionlogo-150x150.png","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/cropped-codemotionlogo-150x150.png","caption":"Codemotion"},"description":"Articles wirtten by the Codemotion staff. Tech news, inspiration, latest treends in software development and more.","sameAs":["https:\/\/x.com\/CodemotionIT"],"url":"https:\/\/www.codemotion.com\/magazine\/author\/codemotion-2\/"}]}},"featured_image_src":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/04\/Retina-Display-628319502-600x400.jpg","featured_image_src_square":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/04\/Retina-Display-628319502-600x600.jpg","author_info":{"display_name":"Codemotion","author_link":"https:\/\/www.codemotion.com\/magazine\/author\/codemotion-2\/"},"uagb_featured_image_src":{"full":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/04\/Retina-Display-628319502.jpg",1003,675,false],"thumbnail":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/04\/Retina-Display-628319502-150x150.jpg",150,150,true],"medium":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/04\/Retina-Display-628319502-300x202.jpg",300,202,true],"medium_large":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/04\/Retina-Display-628319502-768x517.jpg",768,517,true],"large":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/04\/Retina-Display-628319502.jpg",1003,675,false],"1536x1536":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/04\/Retina-Display-628319502.jpg",1003,675,false],"2048x2048":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/04\/Retina-Display-628319502.jpg",1003,675,false],"small-home-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/04\/Retina-Display-628319502.jpg",100,67,false],"sidebar-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/04\/Retina-Display-628319502-180x128.jpg",180,128,true],"genesis-singular-images":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/04\/Retina-Display-628319502-896x504.jpg",896,504,true],"archive-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/04\/Retina-Display-628319502-400x225.jpg",400,225,true],"gb-block-post-grid-landscape":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/04\/Retina-Display-628319502-600x400.jpg",600,400,true],"gb-block-post-grid-square":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/04\/Retina-Display-628319502-600x600.jpg",600,600,true]},"uagb_author_info":{"display_name":"Codemotion","author_link":"https:\/\/www.codemotion.com\/magazine\/author\/codemotion-2\/"},"uagb_comment_info":0,"uagb_excerpt":"This article written by Shay Shmeltzer, Director of Product Management at Oracle, was originally published on Oracle Developers Portal. By this time you will probably have seen multiple blogs about the Fn Project &#8211; an open-source, multi-language, container-native serverless platform. You may already have heard that Oracle is going to offer a cloud-hosted Function as&#8230;&hellip;","lang":"en","_links":{"self":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/170","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/users\/64"}],"replies":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/comments?post=170"}],"version-history":[{"count":8,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/170\/revisions"}],"predecessor-version":[{"id":11751,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/170\/revisions\/11751"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/media\/3540"}],"wp:attachment":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/media?parent=170"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/categories?post=170"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/tags?post=170"},{"taxonomy":"collections","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/collections?post=170"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}