{"id":3093,"date":"2026-01-29T19:24:18","date_gmt":"2026-01-29T19:24:18","guid":{"rendered":"https:\/\/www.yazilimperver.com\/?p=3093"},"modified":"2026-01-29T19:24:18","modified_gmt":"2026-01-29T19:24:18","slug":"arac-web-uzerinden-github-gitlab-pipeline-tetikleme","status":"publish","type":"post","link":"https:\/\/www.yazilimperver.com\/index.php\/2026\/01\/29\/arac-web-uzerinden-github-gitlab-pipeline-tetikleme\/","title":{"rendered":"[ARA\u00c7] Web \u00fczerinden Github\/Gitlab Pipeline Tetikleme"},"content":{"rendered":"<p>Sevgili yaz\u0131l\u0131mperver takip\u00e7ilerim, yeni ve in\u015fallah k\u0131sa bir yaz\u0131 ile tekrar birlikteyiz. En son Conan 2.0&#8217;a y\u00f6nelik yaz\u0131m\u0131 sizler ile payla\u015fm\u0131\u015ft\u0131m, in\u015fallah Conan&#8217;a y\u00f6nelik yaz\u0131lar\u0131ma devam edece\u011fiz, bunun ile birlikte \u00f6ncelikle CI\/CD ile ilgili bir yaz\u0131y\u0131 sizlerle payla\u015f\u0131yor olaca\u011f\u0131m.<\/p>\n<p>Daha \u00f6nce sizlerle birlikte github \u00fczerinde <span style=\"color: #008000;\"><strong><a style=\"color: #008000;\" href=\"https:\/\/github.com\/yazilimperver\/cpp-playground\">cpp-playground reposu<\/a><\/strong><\/span> i\u00e7in github actions ile pipeline&#8217;lar\u0131m\u0131z olu\u015fturmu\u015ftuk ve her commit ile bu pipeline&#8217;lar\u0131n tetiklendi\u011fini sizler ile payla\u015fm\u0131\u015ft\u0131m.<\/p>\n<p>Peki karde\u015fim, ben bu pipeline&#8217;\u0131 web \u00fczerinden de, bir yerlere t\u0131klayarak tetikleyemez miyim? Bu yaz\u0131da bunu nas\u0131l yapabilece\u011fimize bakaca\u011f\u0131z. Nereden \u00e7\u0131kt\u0131 bu diyebilirsiniz, lakin benim gibi Azure TFS kulland\u0131ysan\u0131z, orada pipeline&#8217;lar\u0131 herhangi bir \u015fey yapmadan web \u00fczerinden de t\u0131klayarak da \u00e7al\u0131\u015ft\u0131rabiliyordunuz. Niye buna ihtiya\u00e7 da var diyebilirsiniz, asl\u0131na bakarsan\u0131z yok. Pipeline&#8217;lar\u0131 commit&#8217;ler ile tetikliyorsan\u0131z yine s\u0131k\u0131nt\u0131 olmamas\u0131 laz\u0131m, gel g\u00f6r ki merak ettim ve bu yap\u0131labiliyor mu diye merak ettim. Evet nedir bunun y\u00f6ntemi peki?<\/p>\n<p>Yapman\u0131z gereken temelde trigger (on:) sat\u0131rlar\u0131na &#8220;workflow_dispatch:&#8221; &#8216;i ekliyoruz:<\/p>\n<pre class=\"lang:yaml decode:true \">on:\r\n  push:\r\n    branches:\r\n      - main\r\n    paths-ignore:\r\n      - \"**\/**.md\"\r\n  workflow_dispatch:<\/pre>\n<p>Bunu ekledikten sonra <span style=\"color: #008000;\"><strong><a style=\"color: #008000;\" href=\"https:\/\/github.com\/yazilimperver\/cpp-playground\/actions\/workflows\/cpp-playground.yml\">https:\/\/github.com\/yazilimperver\/cpp-playground\/actions\/workflows\/cpp-playground.yml<\/a><\/strong><\/span> sayfas\u0131na gidip, sol sekmeden &#8220;SDL3 Cpp Playground Github Actions&#8221;&#8216;\u0131 se\u00e7tikten sonra, a\u015fa\u011f\u0131daki bildirimi g\u00f6receksiniz:<br \/>\n&#8220;This workflow has a workflow_dispatch event trigger.&#8221;<br \/>\nVe a\u015fa\u011f\u0131daki gibi bir men\u00fc gelmi\u015f olacak:<\/p>\n<p id=\"gXdajkb\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-3098 \" src=\"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2026\/01\/img_697ba863737d8.png\" alt=\"\" width=\"1024\" height=\"464\" srcset=\"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2026\/01\/img_697ba863737d8.png 1656w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2026\/01\/img_697ba863737d8-300x136.png 300w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2026\/01\/img_697ba863737d8-1024x464.png 1024w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2026\/01\/img_697ba863737d8-768x348.png 768w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2026\/01\/img_697ba863737d8-1536x696.png 1536w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2026\/01\/img_697ba863737d8-500x226.png 500w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2026\/01\/img_697ba863737d8-150x68.png 150w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2026\/01\/img_697ba863737d8-1200x543.png 1200w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2026\/01\/img_697ba863737d8-400x181.png 400w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2026\/01\/img_697ba863737d8-800x362.png 800w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2026\/01\/img_697ba863737d8-200x91.png 200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p>Evet, yukar\u0131da g\u00f6rd\u00fc\u011f\u00fcn\u00fcz \u00fczere art\u0131k el ile, web \u00fczerinden de bu pipeline&#8217;\u0131 art\u0131k tetikleyebilece\u011fiz. \u015eimdi gelelim ikinci hususa: gitlab.<\/p>\n<div>Bu vesile ile yolculu\u011fumuza gitlab&#8217;\u0131 da ekliyoruz. A\u00e7\u0131k\u00e7as\u0131 bir s\u00fcredir gitlab&#8217;\u0131 da hem profesyonel hem de ki\u015fisel hayat\u0131mda kullanmaya ba\u015flad\u0131m (i\u015f hayat\u0131mda Azure TFS&#8217;i de kullan\u0131yorum bu arada). Bundan sonraki \u00e7al\u0131\u015fmalar\u0131mda da, gitlab&#8217;\u0131 daha s\u0131k kullanmay\u0131 hedefliyorum. Bu sebeple de, repoyu <span style=\"color: #008000;\"><strong><a style=\"color: #008000;\" href=\"https:\/\/gitlab.com\/yazilimperver\/cpp-playground\">cpp-playground projesini gitlab&#8217;a<\/a><\/strong><\/span> da ta\u015f\u0131d\u0131m. Motivasyonum devam etti\u011fi s\u00fcrece hem github hem de gitlab \u00fczerinde hususlar\u0131 g\u00f6stermeye \u00e7al\u0131\u015faca\u011f\u0131m ama a\u011f\u0131rl\u0131\u011f\u0131 bir noktada gitlaba kayd\u0131rmay\u0131 hedefliyorum.<\/div>\n<div><\/div>\n<div>Tabi ki yapaca\u011f\u0131m\u0131z ilk i\u015f, mevcut workflow&#8217;umuzu gitlab i\u00e7in uyarlamak. Bunu yaparken de tabi art\u0131k manuel bunu yapm\u0131yoruz \ud83d\ude42 \u00c7eto veya avaresinden hemen destek ald\u0131m. Keza kendisinin bu konuda yapt\u0131\u011f\u0131 ilk yorum a\u015fa\u011f\u0131daki gibi:<\/div>\n<div><\/div>\n<div>GitLab CI\/CD d\u00fcnyas\u0131na ge\u00e7erken baz\u0131 temel farklar\u0131 bilmek i\u015fimizi kolayla\u015ft\u0131racakm\u0131\u015f:<\/div>\n<ul>\n<li><strong>Workflow vs Pipeline<\/strong>: GitHub&#8217;daki steps, GitLab&#8217;da genellikle <em><strong>script<\/strong> <\/em>blo\u011fu alt\u0131na yaz\u0131l\u0131r,<\/li>\n<li><strong>Jobs:<\/strong> GitLab&#8217;da her i\u015f (<em><strong>job<\/strong><\/em>) varsay\u0131lan olarak temiz bir ortamda ba\u015flar. Dosyalar\u0131 bir sonraki a\u015famaya aktarmak i\u00e7in artifacts kullanmak gerekir,<\/li>\n<li><strong>Runners:<\/strong> GitHub&#8217;\u0131n <strong>windows-latest<\/strong> ve <strong>ubuntu-latest<\/strong> imajlar\u0131 yerine, GitLab&#8217;da Docker imajlar\u0131n\u0131 veya Windows i\u00e7in \u00f6zel &#8220;tag&#8221;lenmi\u015f runnerlar\u0131 kullan\u0131l\u0131r.<\/li>\n<\/ul>\n<div><\/div>\n<div>Gitlab ile CI\/CD&#8217;leri tetiklemek i\u00e7in tepe dizine<strong> .gitlab-ci.yml<\/strong> dosyas\u0131 ekliyoruz ve i\u00e7eri\u011fini \u00fcretilen \u015fekilde a\u015fa\u011f\u0131daki gibi g\u00fcncelliyoruz:<\/div>\n<div>\n<pre class=\"lang:yaml decode:true\">workflow:\r\n  rules:\r\n    - if: $CI_PIPELINE_SOURCE == \"web\"\r\n    - if: $CI_PIPELINE_SOURCE == \"push\"\r\n    - if: $CI_PIPELINE_SOURCE == \"merge_request_event\"\r\n\r\nstages:\r\n  - build\r\n  - test\r\n  - report\r\n\r\n# --- Windows Job ---\r\nbuild-windows:\r\n  stage: build\r\n  tags:\r\n    - saas-windows-medium-amd64\r\n  variables:\r\n    CC: \"cl\"\r\n    CXX: \"cl\"\r\n  before_script:\r\n    - Set-Variable -Name \"time\" -Value (date -Format \"%H:%m\")\r\n    - echo ${time}\r\n    - echo \"started by ${GITLAB_USER_NAME} \/ @${GITLAB_USER_LOGIN}\"\r\n  script:\r\n    - echo \"Cpp Playground started from Windows!\"\r\n    # MSVC ortam\u0131n\u0131 haz\u0131rlar (vcvarsall.bat benzeri) \u015fimdilik bunu hen\u00fcz ayaga kaldirmadim\r\n    # - '&amp; \"C:\\Program Files\\Microsoft Visual Studio\\2022\\Enterprise\\VC\\Auxiliary\\Build\\vcvars64.bat\"'\r\n    # - .\\scripts\\install_dependencies.bat\r\n    # # Build\r\n    # - cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -G \"Ninja\" -DCMAKE_PREFIX_PATH=\"%CD%\\sdl3-install\"\r\n    # - cmake --build build\r\n  artifacts:\r\n    paths:\r\n      - build\/\r\n\r\n# --- Linux Job ---\r\nbuild-linux:\r\n  stage: build\r\n  image: ubuntu:24.04\r\n  when: manual\r\n  before_script:\r\n    - apt-get update -y\r\n    - apt-get install -y cmake ninja-build gcc g++ clang-tidy lcov gcovr curl unzip git wget\r\n  script:\r\n    - echo \"Cpp Playground started from Linux!\"\r\n    - chmod +x scripts\/install_dependencies.sh\r\n    - .\/scripts\/install_dependencies.sh\r\n    - cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -G \"Ninja\"\r\n    - cmake --build build\r\n  artifacts:\r\n    paths:\r\n      - build\/\r\n      - scripts\/\r\n    expire_in: 1 hour\r\n\r\n# --- Test Job (Linux \u00fczerinden devam) ---\r\ntest-linux:\r\n  stage: test\r\n  image: ubuntu:24.04\r\n  when: manual\r\n  dependencies:\r\n    - build-linux\r\n  before_script:\r\n    - apt-get update -y &amp;&amp; apt-get install -y cmake ninja-build gcovr gcc\r\n  script:\r\n    - cd build\/test\r\n    - ctest --output-on-failure --output-junit ..\/..\/test-results.xml\r\n    - cd ..\/..\r\n  artifacts:\r\n    when: always\r\n    reports:\r\n      junit: test-results.xml      \r\n    paths:\r\n      - test-results.xml<\/pre>\n<p>gitlab i\u00e7in, github&#8217;takinin birebir benzer, tek bir tetikleme mekanizmas\u0131 bulunmasa da (ya da ben g\u00f6remedim), a\u015famalar manuel olarak tetiklenebilmekte. Yukar\u0131da verilen pipeline dosyas\u0131ndaki a\u015fa\u011f\u0131daki sat\u0131rlar tam olarak bize bunu sa\u011fl\u0131yor olacak:<\/p>\n<pre class=\"lang:yaml decode:true \">workflow:\r\n  rules:\r\n    - if: $CI_PIPELINE_SOURCE == \"web\"\r\n\r\nbuild-windows:\r\n  stage: build\r\n\r\nbuild-linux:\r\n  ...\r\n  when: manual\r\n  ...\r\n\r\ntest-linux:\r\n  ...\r\n  when: manual\r\n  ...<\/pre>\n<p>bunlar\u0131 ekledikten sonra gitlab web sayfas\u0131nda art\u0131k a\u015fa\u011f\u0131daki g\u00f6rseller g\u00f6r\u00fclebilir:<\/p>\n<p id=\"aymIDEa\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-3101 size-large\" src=\"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2026\/01\/img_697babceb253e-1024x333.png\" alt=\"\" width=\"780\" height=\"254\" srcset=\"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2026\/01\/img_697babceb253e-1024x333.png 1024w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2026\/01\/img_697babceb253e-300x98.png 300w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2026\/01\/img_697babceb253e-768x250.png 768w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2026\/01\/img_697babceb253e-1536x500.png 1536w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2026\/01\/img_697babceb253e-2048x667.png 2048w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2026\/01\/img_697babceb253e-500x163.png 500w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2026\/01\/img_697babceb253e-150x49.png 150w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2026\/01\/img_697babceb253e-1200x391.png 1200w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2026\/01\/img_697babceb253e-400x130.png 400w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2026\/01\/img_697babceb253e-800x260.png 800w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2026\/01\/img_697babceb253e-200x65.png 200w\" sizes=\"auto, (max-width: 780px) 100vw, 780px\" \/><\/p>\n<p id=\"jUdtSsd\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-3102 size-medium\" src=\"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2026\/01\/img_697bac152368c-300x217.png\" alt=\"\" width=\"300\" height=\"217\" srcset=\"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2026\/01\/img_697bac152368c-300x217.png 300w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2026\/01\/img_697bac152368c-768x556.png 768w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2026\/01\/img_697bac152368c-500x362.png 500w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2026\/01\/img_697bac152368c-150x109.png 150w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2026\/01\/img_697bac152368c-400x290.png 400w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2026\/01\/img_697bac152368c-200x145.png 200w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2026\/01\/img_697bac152368c.png 801w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>Bu g\u00f6rsellerde, manuel tetik ekledi\u011fimiz ad\u0131mlar i\u00e7in &#8220;play&#8221; tu\u015flar\u0131n\u0131 g\u00f6rebilirsiniz.<\/p>\n<p>Fakat burada da \u015f\u00f6yle bir durum olu\u015fuyor. Gitlab&#8217;daki manuel her zaman sizden bir girdi bekliyor ve commit&#8217;leriniz ile tetiklenmiyor. Yani tam olarak istedi\u011fimiz kabiliyet de\u011fil ama bunun da elbette bir kullan\u0131m\u0131 mevcut. \u00d6rne\u011fin, pipeline&#8217;lar\u0131 manuel olarak tetiklemek isterseniz, bu kabiliyet sizlere faydal\u0131 olabilir. Ayr\u0131ca bu kabiliyet ile de\u011fi\u015fkenler de pipeline&#8217;a ge\u00e7irilebilir.<\/p>\n<p id=\"MwJWikm\"><img loading=\"lazy\" decoding=\"async\" width=\"2235\" height=\"503\" class=\"alignnone size-full wp-image-3103 \" src=\"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2026\/01\/img_697bb34039565.png\" alt=\"\" srcset=\"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2026\/01\/img_697bb34039565.png 2235w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2026\/01\/img_697bb34039565-300x68.png 300w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2026\/01\/img_697bb34039565-1024x230.png 1024w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2026\/01\/img_697bb34039565-768x173.png 768w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2026\/01\/img_697bb34039565-1536x346.png 1536w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2026\/01\/img_697bb34039565-2048x461.png 2048w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2026\/01\/img_697bb34039565-500x113.png 500w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2026\/01\/img_697bb34039565-150x34.png 150w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2026\/01\/img_697bb34039565-1200x270.png 1200w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2026\/01\/img_697bb34039565-400x90.png 400w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2026\/01\/img_697bb34039565-800x180.png 800w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2026\/01\/img_697bb34039565-200x45.png 200w\" sizes=\"auto, (max-width: 2235px) 100vw, 2235px\" \/><\/p>\n<p>Evet, bu yaz\u0131m\u0131z\u0131n da sonuna geldik. Sonraki yaz\u0131lar\u0131m\u0131zda, CI\/CD ve conan ile ilgili konulara devam ediyor olaca\u011f\u0131z. O zamana kadar kal\u0131n sa\u011fl\u0131cakla. Her t\u00fcrl\u00fc g\u00f6r\u00fc\u015f ve \u00f6nerileriniz, yazilimperver@gmail.com ya da yorumlar \u00fczerinden bana iletebilirsiniz.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Sevgili yaz\u0131l\u0131mperver takip\u00e7ilerim, yeni ve in\u015fallah k\u0131sa bir yaz\u0131 ile tekrar birlikteyiz. En son Conan 2.0&#8217;a y\u00f6nelik yaz\u0131m\u0131 sizler ile payla\u015fm\u0131\u015ft\u0131m, in\u015fallah Conan&#8217;a y\u00f6nelik yaz\u0131lar\u0131ma devam edece\u011fiz, bunun ile birlikte \u00f6ncelikle CI\/CD ile ilgili bir yaz\u0131y\u0131 sizlerle payla\u015f\u0131yor olaca\u011f\u0131m. Daha \u00f6nce sizlerle birlikte github \u00fczerinde cpp-playground reposu i\u00e7in github actions ile pipeline&#8217;lar\u0131m\u0131z olu\u015fturmu\u015ftuk ve her&#8230; <a class=\"more-link\" href=\"https:\/\/www.yazilimperver.com\/index.php\/2026\/01\/29\/arac-web-uzerinden-github-gitlab-pipeline-tetikleme\/\">Continue reading <span class=\"meta-nav\">&#8594;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[27,188],"tags":[1037,51,829,1199,843,1198],"class_list":["post-3093","post","type-post","status-publish","format-standard","hentry","category-arac","category-yazilim-muhendisligi","tag-ci-cd","tag-github","tag-gitlab","tag-manuel-trigger","tag-pipeline","tag-trigger"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>[ARA\u00c7] Web \u00fczerinden Github\/Gitlab Pipeline Tetikleme - Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131<\/title>\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.yazilimperver.com\/index.php\/2026\/01\/29\/arac-web-uzerinden-github-gitlab-pipeline-tetikleme\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[ARA\u00c7] Web \u00fczerinden Github\/Gitlab Pipeline Tetikleme - Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131\" \/>\n<meta property=\"og:description\" content=\"Sevgili yaz\u0131l\u0131mperver takip\u00e7ilerim, yeni ve in\u015fallah k\u0131sa bir yaz\u0131 ile tekrar birlikteyiz. En son Conan 2.0&#8217;a y\u00f6nelik yaz\u0131m\u0131 sizler ile payla\u015fm\u0131\u015ft\u0131m, in\u015fallah Conan&#8217;a y\u00f6nelik yaz\u0131lar\u0131ma devam edece\u011fiz, bunun ile birlikte \u00f6ncelikle CI\/CD ile ilgili bir yaz\u0131y\u0131 sizlerle payla\u015f\u0131yor olaca\u011f\u0131m. Daha \u00f6nce sizlerle birlikte github \u00fczerinde cpp-playground reposu i\u00e7in github actions ile pipeline&#8217;lar\u0131m\u0131z olu\u015fturmu\u015ftuk ve her... Continue reading &#8594;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.yazilimperver.com\/index.php\/2026\/01\/29\/arac-web-uzerinden-github-gitlab-pipeline-tetikleme\/\" \/>\n<meta property=\"og:site_name\" content=\"Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-01-29T19:24:18+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2026\/01\/img_697ba863737d8.png\" \/>\n<meta name=\"author\" content=\"yaz\u0131l\u0131mperver\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"yaz\u0131l\u0131mperver\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2026\/01\/29\/arac-web-uzerinden-github-gitlab-pipeline-tetikleme\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2026\/01\/29\/arac-web-uzerinden-github-gitlab-pipeline-tetikleme\/\"},\"author\":{\"name\":\"yaz\u0131l\u0131mperver\",\"@id\":\"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb\"},\"headline\":\"[ARA\u00c7] Web \u00fczerinden Github\/Gitlab Pipeline Tetikleme\",\"datePublished\":\"2026-01-29T19:24:18+00:00\",\"dateModified\":\"2026-01-29T19:24:18+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2026\/01\/29\/arac-web-uzerinden-github-gitlab-pipeline-tetikleme\/\"},\"wordCount\":699,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb\"},\"keywords\":[\"CI\/CD\",\"Github\",\"gitlab\",\"manuel trigger\",\"pipeline\",\"trigger\"],\"articleSection\":[\"Ara\u00e7\",\"Yaz\u0131l\u0131m M\u00fchendisli\u011fi\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.yazilimperver.com\/index.php\/2026\/01\/29\/arac-web-uzerinden-github-gitlab-pipeline-tetikleme\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2026\/01\/29\/arac-web-uzerinden-github-gitlab-pipeline-tetikleme\/\",\"url\":\"https:\/\/www.yazilimperver.com\/index.php\/2026\/01\/29\/arac-web-uzerinden-github-gitlab-pipeline-tetikleme\/\",\"name\":\"[ARA\u00c7] Web \u00fczerinden Github\/Gitlab Pipeline Tetikleme - Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/www.yazilimperver.com\/#website\"},\"datePublished\":\"2026-01-29T19:24:18+00:00\",\"dateModified\":\"2026-01-29T19:24:18+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2026\/01\/29\/arac-web-uzerinden-github-gitlab-pipeline-tetikleme\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.yazilimperver.com\/index.php\/2026\/01\/29\/arac-web-uzerinden-github-gitlab-pipeline-tetikleme\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2026\/01\/29\/arac-web-uzerinden-github-gitlab-pipeline-tetikleme\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Ana sayfa\",\"item\":\"https:\/\/www.yazilimperver.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[ARA\u00c7] Web \u00fczerinden Github\/Gitlab Pipeline Tetikleme\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.yazilimperver.com\/#website\",\"url\":\"https:\/\/www.yazilimperver.com\/\",\"name\":\"Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131\",\"description\":\"Payla\u015fmak g\u00fczeldir.\",\"publisher\":{\"@id\":\"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.yazilimperver.com\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb\",\"name\":\"yaz\u0131l\u0131mperver\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/www.yazilimperver.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/04\/OnlyIcon-1-114x114.png\",\"contentUrl\":\"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/04\/OnlyIcon-1-114x114.png\",\"caption\":\"yaz\u0131l\u0131mperver\"},\"logo\":{\"@id\":\"https:\/\/www.yazilimperver.com\/#\/schema\/person\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[ARA\u00c7] Web \u00fczerinden Github\/Gitlab Pipeline Tetikleme - Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131","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.yazilimperver.com\/index.php\/2026\/01\/29\/arac-web-uzerinden-github-gitlab-pipeline-tetikleme\/","og_locale":"tr_TR","og_type":"article","og_title":"[ARA\u00c7] Web \u00fczerinden Github\/Gitlab Pipeline Tetikleme - Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131","og_description":"Sevgili yaz\u0131l\u0131mperver takip\u00e7ilerim, yeni ve in\u015fallah k\u0131sa bir yaz\u0131 ile tekrar birlikteyiz. En son Conan 2.0&#8217;a y\u00f6nelik yaz\u0131m\u0131 sizler ile payla\u015fm\u0131\u015ft\u0131m, in\u015fallah Conan&#8217;a y\u00f6nelik yaz\u0131lar\u0131ma devam edece\u011fiz, bunun ile birlikte \u00f6ncelikle CI\/CD ile ilgili bir yaz\u0131y\u0131 sizlerle payla\u015f\u0131yor olaca\u011f\u0131m. Daha \u00f6nce sizlerle birlikte github \u00fczerinde cpp-playground reposu i\u00e7in github actions ile pipeline&#8217;lar\u0131m\u0131z olu\u015fturmu\u015ftuk ve her... Continue reading &#8594;","og_url":"https:\/\/www.yazilimperver.com\/index.php\/2026\/01\/29\/arac-web-uzerinden-github-gitlab-pipeline-tetikleme\/","og_site_name":"Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131","article_published_time":"2026-01-29T19:24:18+00:00","og_image":[{"url":"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2026\/01\/img_697ba863737d8.png"}],"author":"yaz\u0131l\u0131mperver","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"yaz\u0131l\u0131mperver","Tahmini okuma s\u00fcresi":"4 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.yazilimperver.com\/index.php\/2026\/01\/29\/arac-web-uzerinden-github-gitlab-pipeline-tetikleme\/#article","isPartOf":{"@id":"https:\/\/www.yazilimperver.com\/index.php\/2026\/01\/29\/arac-web-uzerinden-github-gitlab-pipeline-tetikleme\/"},"author":{"name":"yaz\u0131l\u0131mperver","@id":"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb"},"headline":"[ARA\u00c7] Web \u00fczerinden Github\/Gitlab Pipeline Tetikleme","datePublished":"2026-01-29T19:24:18+00:00","dateModified":"2026-01-29T19:24:18+00:00","mainEntityOfPage":{"@id":"https:\/\/www.yazilimperver.com\/index.php\/2026\/01\/29\/arac-web-uzerinden-github-gitlab-pipeline-tetikleme\/"},"wordCount":699,"commentCount":0,"publisher":{"@id":"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb"},"keywords":["CI\/CD","Github","gitlab","manuel trigger","pipeline","trigger"],"articleSection":["Ara\u00e7","Yaz\u0131l\u0131m M\u00fchendisli\u011fi"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.yazilimperver.com\/index.php\/2026\/01\/29\/arac-web-uzerinden-github-gitlab-pipeline-tetikleme\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.yazilimperver.com\/index.php\/2026\/01\/29\/arac-web-uzerinden-github-gitlab-pipeline-tetikleme\/","url":"https:\/\/www.yazilimperver.com\/index.php\/2026\/01\/29\/arac-web-uzerinden-github-gitlab-pipeline-tetikleme\/","name":"[ARA\u00c7] Web \u00fczerinden Github\/Gitlab Pipeline Tetikleme - Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/www.yazilimperver.com\/#website"},"datePublished":"2026-01-29T19:24:18+00:00","dateModified":"2026-01-29T19:24:18+00:00","breadcrumb":{"@id":"https:\/\/www.yazilimperver.com\/index.php\/2026\/01\/29\/arac-web-uzerinden-github-gitlab-pipeline-tetikleme\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.yazilimperver.com\/index.php\/2026\/01\/29\/arac-web-uzerinden-github-gitlab-pipeline-tetikleme\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.yazilimperver.com\/index.php\/2026\/01\/29\/arac-web-uzerinden-github-gitlab-pipeline-tetikleme\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Ana sayfa","item":"https:\/\/www.yazilimperver.com\/"},{"@type":"ListItem","position":2,"name":"[ARA\u00c7] Web \u00fczerinden Github\/Gitlab Pipeline Tetikleme"}]},{"@type":"WebSite","@id":"https:\/\/www.yazilimperver.com\/#website","url":"https:\/\/www.yazilimperver.com\/","name":"Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131","description":"Payla\u015fmak g\u00fczeldir.","publisher":{"@id":"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.yazilimperver.com\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb","name":"yaz\u0131l\u0131mperver","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/www.yazilimperver.com\/#\/schema\/person\/image\/","url":"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/04\/OnlyIcon-1-114x114.png","contentUrl":"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/04\/OnlyIcon-1-114x114.png","caption":"yaz\u0131l\u0131mperver"},"logo":{"@id":"https:\/\/www.yazilimperver.com\/#\/schema\/person\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/posts\/3093","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/comments?post=3093"}],"version-history":[{"count":2,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/posts\/3093\/revisions"}],"predecessor-version":[{"id":3104,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/posts\/3093\/revisions\/3104"}],"wp:attachment":[{"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/media?parent=3093"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/categories?post=3093"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/tags?post=3093"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}