{"id":5972,"date":"2020-12-07T08:48:14","date_gmt":"2020-12-07T06:48:14","guid":{"rendered":"https:\/\/www.almtoolbox.com\/blog_he\/?p=5972"},"modified":"2020-12-08T07:40:12","modified_gmt":"2020-12-08T05:40:12","slug":"gitlab-openproject-flow-integration","status":"publish","type":"post","link":"https:\/\/www.almtoolbox.com\/blog_he\/gitlab-openproject-flow-integration\/","title":{"rendered":"\u05d4\u05d3\u05d2\u05de\u05d4: \u05ea\u05d4\u05dc\u05d9\u05da \u05e4\u05d9\u05ea\u05d5\u05d7 \u05de\u05e9\u05d5\u05dc\u05d1 GitLab \u05d5- OpenProject"},"content":{"rendered":"<p>\u05d1\u05ea\u05e7\u05d5\u05e4\u05d4 \u05d4\u05d0\u05d7\u05e8\u05d5\u05e0\u05d4 \u05d9\u05e9\u05e0\u05d4 \u05d4\u05ea\u05e2\u05e0\u05d9\u05d9\u05e0\u05d5\u05ea \u05d2\u05d5\u05d1\u05e8\u05ea \u05d1\u05db\u05dc\u05d9 \u05e0\u05d9\u05d4\u05d5\u05dc \u05de\u05e9\u05d9\u05de\u05d5\u05ea \u05d0\u05dc\u05d8\u05e8\u05e0\u05d8\u05d9\u05d1\u05d9\u05d9\u05dd\u00a0 \u05dc- Jira \u05d4\u05e2\u05d5\u05d1\u05d3\u05d9\u05dd \u05e2\u05dc \u05e9\u05e8\u05ea \u05e4\u05e8\u05d8\u05d9 (on-premises) \u05d5\/\u05d0\u05d5 \u05d1\u05e2\u05e0\u05df, \u05d5\u05de\u05ea\u05d7\u05d1\u05e8\u05d9\u05dd \u05dc- git \u05d0\u05d5 \u05dc- GitLab.<\/p>\n<p>\u05d0\u05d7\u05d3 \u05d4\u05db\u05dc\u05d9\u05dd \u05e9\u05d9\u05db\u05d5\u05dc \u05dc\u05d4\u05ea\u05d0\u05d9\u05dd \u05dc\u05db\u05da \u05d4\u05d5\u05d0 OpenProject &#8211; \u05de\u05d5\u05e6\u05e8 \u05e9\u05d0\u05e0\u05d5 \u05ea\u05d5\u05de\u05db\u05d9\u05dd \u05d1\u05d5 \u05d5\u05de\u05e9\u05de\u05e9\u05d9\u05dd \u05d2\u05dd \u05db\u05e0\u05e6\u05d9\u05d2 \u05d4\u05e8\u05e9\u05de\u05d9 \u05e9\u05dc \u05d4\u05d9\u05e6\u05e8\u05df \u05d1\u05d9\u05e9\u05e8\u05d0\u05dc \u05d5\u05d1\u05d7\u05d5&quot;\u05dc.<\/p>\n<p>\u05d1\u05de\u05d0\u05de\u05e8 \u05dc\u05d4\u05dc\u05df \u05d0\u05d3\u05d2\u05d9\u05dd flow \u05d1\u05e1\u05d9\u05e1\u05d9, \u05d4\u05de\u05e9\u05dc\u05d1 \u05d1\u05d9\u05df \u05e9\u05e0\u05d9 \u05d4\u05db\u05dc\u05d9\u05dd.<\/p>\n<p><span style=\"font-weight: 400;\">\u05d6\u05d4\u05d5 flow \u05d8\u05d9\u05e4\u05d5\u05e1\u05d9, \u05d4\u05e0\u05d9\u05ea\u05df \u05dc\u05e9\u05d9\u05e0\u05d5\u05d9. \u05d1\u05d7\u05e8\u05ea\u05d9 \u05ea\u05d4\u05dc\u05d9\u05da \u05d1\u05e1\u05d9\u05e1\u05d9 \u05db\u05d3\u05d9 \u05dc\u05d4\u05de\u05d7\u05d9\u05e9 \u05d0\u05ea \u05d4\u05d7\u05d9\u05d1\u05d5\u05e8 \u05d1\u05d9\u05e0\u05d9\u05d4\u05dd.<\/span><\/p>\n<h3>\u05d0\u05d9\u05da \u05d9\u05e8\u05d0\u05d4 \u05ea\u05d4\u05dc\u05d9\u05da \u05d4\u05e2\u05d1\u05d5\u05d3\u05d4 \u05d9\u05d7\u05d3?<\/h3>\n<p>\u05d1\u05ea\u05e8\u05e9\u05d9\u05dd \u05dc\u05d4\u05dc\u05df \u05ea\u05d4\u05dc\u05d9\u05da \u05e2\u05d1\u05d5\u05d3\u05d4 \u05d1\u05e1\u05d9\u05e1\u05d9 \u05e9\u05d1\u05e0\u05d9\u05e0\u05d5 \u05d5\u05d0\u05d5\u05ea\u05d5 \u05d0\u05e0\u05d5 \u05de\u05e6\u05d9\u05d2\u05d9\u05dd \u05dc\u05d7\u05d1\u05e8\u05d5\u05ea \u05dc\u05d4\u05df \u05d0\u05e0\u05d5 \u05de\u05e1\u05d9\u05d9\u05e2\u05d9\u05dd \u05d1\u05e4\u05d9\u05ea\u05d5\u05d7 \u05ea\u05d4\u05dc\u05d9\u05db\u05d9 \u05e4\u05d9\u05ea\u05d5\u05d7 \u05d5- pipelines.<br \/>\n(\u05db\u05d0\u05de\u05d5\u05e8, \u05d4\u05ea\u05d4\u05dc\u05d9\u05da \u05dc\u05d4\u05dc\u05df \u05d4\u05d9\u05e0\u05d5 \u05d1\u05e1\u05d9\u05e1\u05d9 \u05d9\u05d7\u05e1\u05d9\u05ea, \u05d0\u05da \u05db\u05d5\u05dc\u05dc \u05d0\u05ea \u05db\u05dc \u05d4\u05e9\u05dc\u05d1\u05d9\u05dd \u05d1 &quot;\u05e8\u05d1\u05d9\u05e2\u05d9\u05d4 \u05d4\u05e7\u05dc\u05d0\u05e1\u05d9\u05ea&quot; (\u05e7\u05d9\u05e9\u05d5\u05e8 \u05dc\u05de\u05d0\u05de\u05e8 \u05d1\u05d4\u05de\u05e9\u05da), \u05d5\u05e0\u05d9\u05ea\u05df \u05dc\u05e9\u05e0\u05d5\u05ea \u05d1\u05d5 \u05d3\u05d1\u05e8\u05d9\u05dd \u05e8\u05d1\u05d9\u05dd \u05d1\u05d4\u05ea\u05d0\u05dd \u05dc\u05e6\u05e8\u05db\u05d9\u05dd \u05e1\u05e4\u05e6\u05d9\u05e4\u05d9\u05d9\u05dd \u05d1\u05db\u05dc \u05d7\u05d1\u05e8\u05d4)<\/p>\n<div id=\"attachment_5974\" style=\"width: 691px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2020\/12\/openproject-gitlab-flow.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5974\" class=\"wp-image-5974\" src=\"https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2020\/12\/openproject-gitlab-flow.png\" alt=\"gitlab openproject integration\" width=\"681\" height=\"367\" srcset=\"https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2020\/12\/openproject-gitlab-flow.png 1002w, https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2020\/12\/openproject-gitlab-flow-300x162.png 300w, https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2020\/12\/openproject-gitlab-flow-768x414.png 768w\" sizes=\"auto, (max-width: 681px) 100vw, 681px\" \/><\/a><p id=\"caption-attachment-5974\" class=\"wp-caption-text\">\u05d4\u05e6\u05e2\u05d4 \u05dc\u05ea\u05d4\u05dc\u05d9\u05da \u05e2\u05d1\u05d5\u05d3\u05d4 \u05d4\u05de\u05e9\u05dc\u05d1 GitLab \u05d5- OpenProject (\u05dc\u05d7\u05e6\u05d5 \u05dc\u05d4\u05d2\u05d3\u05dc\u05d4)<\/p><\/div>\n<p>&nbsp;<\/p>\n<h3>\u05d4\u05e1\u05d1\u05e8 \u05dc\u05ea\u05e8\u05e9\u05d9\u05dd:<\/h3>\n<p><span style=\"font-weight: 400;\">\u05d4\u05d7\u05dc\u05e7 \u05d4\u05e1\u05d2\u05d5\u05dc (\u05d4\u05e2\u05dc\u05d9\u05d5\u05df) \u05d4\u05d5\u05d0 \u05d4\u05d0\u05d9\u05d6\u05d5\u05e8 \u05d4\u05e7\u05e9\u05d5\u05e8 \u05dc\u05e0\u05d9\u05d4\u05d5\u05dc \u05d4\u05de\u05e9\u05d9\u05de\u05d4 , \u05d5\u05de\u05d1\u05d5\u05e6\u05e2 \u05d1- OpenProject . \u05d4\u05e9\u05ea\u05de\u05e9\u05e0\u05d5 \u05d1- flow \u05d4\u05de\u05d2\u05d9\u05e2 \u05db\u05d1\u05e8\u05d9\u05e8\u05ea-\u05de\u05d7\u05d3\u05dc \u05e9\u05dc \u05de\u05e9\u05d9\u05de\u05d4 \u05de\u05e1\u05d5\u05d2 Task (\u05e9\u05d4\u05d9\u05e0\u05d4 \u05d7\u05dc\u05e7 \u05de\u05de\u05d4 \u05e9\u05e7\u05e8\u05d5\u05d9 &quot;Work Package&quot;) :<\/span><\/p>\n<p style=\"text-align: right;\"><span style=\"font-weight: 400;\">New &#8211;&gt; In Progress &#8211;&gt; Developed &#8211;&gt; In Testing &#8211;&gt; Tested &#8211;&gt; Closed<\/span><\/p>\n<p>(\u05d4\u05db\u05dc\u05d9 \u05ea\u05d5\u05de\u05da \u05d1\u05d0\u05e4\u05e9\u05e8\u05d5\u05ea \u05dc\u05e9\u05e0\u05d5\u05ea \u05d0\u05ea \u05e9\u05de\u05d5\u05ea \u05d4\u05de\u05e6\u05d1\u05d9\u05dd \u05d5\u05d0\u05ea \u05d4- flow).<\/p>\n<p><span style=\"font-weight: 400;\">\u05d8\u05d1\u05e2\u05d9 \u05e9\u05d4\u05de\u05e9\u05d9\u05de\u05d4 \u05ea\u05d5\u05e2\u05d1\u05e8 \u05d1\u05d9\u05df \u05db\u05de\u05d4 \u05de\u05e9\u05ea\u05de\u05e9\u05d9\u05dd \u05d1\u05ea\u05e4\u05e7\u05d9\u05d3\u05d9\u05dd \u05e9\u05d5\u05e0\u05d9\u05dd &#8211; \u05db\u05d2\u05d5\u05df \u05de\u05e4\u05ea\u05d7 \u05d5\u05d1\u05d5\u05d3\u05e7.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u05d4\u05d7\u05dc\u05e7 \u05d4\u05e6\u05d4\u05d5\u05d1 \u05e9\u05d9\u05d9\u05da \u05dc\u05de\u05e4\u05ea\u05d7, \u05d5\u05de\u05e4\u05e2\u05d9\u05dc \u05e4\u05e2\u05d5\u05dc\u05d5\u05ea \u05e9\u05dc git \u05d5- GitLab\u00a0 (\u05d5\u05d1\u05e2\u05e7\u05d9\u05e4\u05d9\u05df \u05d2\u05dd \u05e9\u05dc Open Project \u05d5- GitLab CI\/CD).<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u05d4\u05d0\u05d9\u05d6\u05d5\u05e8 \u05d4\u05ea\u05db\u05d5\u05dc \u05de\u05d1\u05d5\u05e6\u05e2 \u05de\u05ea\u05d5\u05da \u05e2\u05de\u05d3\u05ea \u05d4\u05de\u05e4\u05ea\u05d7 (\u05d0\u05e4\u05e9\u05e8 \u05dc\u05d7\u05d9\u05dc\u05d5\u05e4\u05d9\u05df \u05d2\u05dd \u05dc\u05d1\u05e6\u05e2 \u05d9\u05e9\u05d9\u05e8\u05d5\u05ea \u05de\u05d4- browser \u05d1\u05d0\u05de\u05e6\u05e2\u05d5\u05ea WebIDE \u05e9\u05dc GitLab )<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u05d4\u05d7\u05dc\u05e7 \u05d4\u05ea\u05d7\u05ea\u05d5\u05df \u05d4\u05d5\u05d0 \u05d0\u05d9\u05d6\u05d5\u05e8 \u05d4- CI\/CD \u05e9\u05de\u05d1\u05d5\u05e6\u05e2 \u05e2&quot;\u05d9 GitLab runner (\u05dc\u05e8\u05d5\u05d1 \u05d1\u05d0\u05d5\u05e4\u05df \u05d0\u05d5\u05d8\u05d5\u05de\u05d8\u05d9, \u05dc\u05d0\u05d7\u05e8 \u05e9\u05d1\u05d5\u05e0\u05d9\u05dd \u05e7\u05d5\u05e0\u05e4\u05d9\u05d2\u05d5\u05e8\u05e6\u05d9\u05d4 \u05de\u05ea\u05d0\u05d9\u05de\u05d4)<\/span><\/p>\n<p>&nbsp;<\/p>\n<div class=\"alm-box alm-contact\">\n<div dir=\"rtl\">\n<p>\u05d1\u05e7\u05e8\u05d5\u05d1 \u05e0\u05d5\u05e6\u05d9\u05d0 \u05e1\u05e8\u05d8\u05d5\u05df \u05d4\u05de\u05d3\u05d2\u05d9\u05dd \u05d0\u05ea \u05d4\u05ea\u05d4\u05dc\u05d9\u05da. \u05dc\u05e7\u05d1\u05dc\u05ea \u05e2\u05d3\u05db\u05d5\u05df \u05db\u05d0\u05e9\u05e8 \u05e0\u05d5\u05e6\u05d9\u05d0 \u05d6\u05d0\u05ea, \u05e9\u05dc\u05d7\u05d5 \u05de\u05d9\u05d9\u05dc \u05dc\u05db\u05ea\u05d5\u05d1\u05ea \u05d4\u05d1\u05d0\u05d4: <a href=\"mailto:openproject@almtoolbox.com\" target=\"_blank\" rel=\"noopener noreferrer\">openproject@almtoolbox.com<\/a><\/p>\n<div dir=\"rtl\"><\/div>\n<\/div>\n<\/div>\n<h3>\u05d4\u05e1\u05d1\u05e8 \u05dc\u05ea\u05d4\u05dc\u05d9\u05da \u05d4\u05de\u05d5\u05e6\u05d2 \u05d1\u05ea\u05e8\u05e9\u05d9\u05dd:<\/h3>\n<ol>\n<li dir=\"ltr\" style=\"font-weight: 400; text-align: left;\"><span style=\"font-weight: 400;\">The group leader creates a <strong><em>Task<\/em> <\/strong>in OpenProject to fix a bug or develop a feature and assigns it to a developer. The task is now in <strong><em>New<\/em> <\/strong>status.<\/span><\/li>\n<li dir=\"ltr\" style=\"font-weight: 400; text-align: left;\"><span style=\"font-weight: 400;\">The developer starts working. He moves the task to <strong><em>In Progress<\/em><\/strong> status, then creates a git branch and clones or pulls the repo to his workstation (he can also works direct on the browser using GitLab's WebIDE).<\/span><\/li>\n<li dir=\"ltr\" style=\"font-weight: 400; text-align: left;\"><span style=\"font-weight: 400;\">After the feature is developed\/the bug is fixed, the developer pushes his work to the GitLab server, which triggers a CI pipeline.<\/span><\/li>\n<li dir=\"ltr\" style=\"font-weight: 400; text-align: left;\"><span style=\"font-weight: 400;\">If the pipeline succeeds, the developer creates a <em>Merge Request<\/em>, thus starting a code review.<\/span><\/li>\n<li dir=\"ltr\" style=\"font-weight: 400; text-align: left;\"><span style=\"font-weight: 400;\">As a result of the code review, the developer may be requested to do a number of changes before the Merge Request is merged, with each change triggering a CI pipeline.<\/span><\/li>\n<li dir=\"ltr\" style=\"text-align: left;\">When developers finished to develop the task he moves the status to <em><strong>Developed<\/strong><\/em>.<\/li>\n<li dir=\"ltr\" style=\"text-align: left;\"><span style=\"font-weight: 400;\">At last, the Merge Request is merged into the master branch, and again a CI pipeline runs to check the merge result.<\/span><\/li>\n<li dir=\"ltr\" style=\"text-align: left;\">Now it's time of the QA tester to make sure everything is OK. He moves the status to <em><strong>In Testing<\/strong>.<\/em><\/li>\n<li dir=\"ltr\" style=\"font-weight: 400; text-align: left;\"><span style=\"font-weight: 400;\">Some changes may be needed on the master branch, after which the software is marked as a new baseline and the task is marked as <strong><em>Tested<\/em>\u00a0<\/strong>(and then <strong><em>Closed<\/em> <\/strong>by the tester or the group leader after a CD process has finished successfully)<\/span><\/li>\n<\/ol>\n<p style=\"text-align: right;\"><span style=\"font-weight: 400;\">\u05d6\u05db\u05e8\u05d5 \u05e9\u05dc\u05ea\u05e8\u05e9\u05d9\u05dd \u05d4\u05de\u05d5\u05e6\u05d2 \u05db\u05d0\u05df \u05d9\u05db\u05d5\u05dc\u05d9\u05dd \u05dc\u05d4\u05d9\u05d5\u05ea \u05d4\u05e8\u05d1\u05d4 \u05d5\u05e8\u05d9\u05d0\u05e6\u05d9\u05d5\u05ea. \u05d0\u05e0\u05d5 \u05d4\u05e6\u05d2\u05e0\u05d5 \u05db\u05d0\u05df \u05de\u05e9\u05d4\u05d5 \u05e8\u05d0\u05e9\u05d5\u05e0\u05d9 \u05e9\u05d9\u05db\u05d5\u05dc \u05dc\u05d4\u05d9\u05d5\u05ea \u05d1\u05e1\u05d9\u05e1 \u05dc\u05d4\u05ea\u05d7\u05dc\u05d4 \u05d5\u05dc\u05e9\u05d9\u05e0\u05d5\u05d9\u05d9\u05dd.<\/span><\/p>\n<h3>\u05dc\u05e1\u05d9\u05db\u05d5\u05dd:<\/h3>\n<ul>\n<li>\u05e0\u05d9\u05ea\u05df \u05dc\u05d7\u05d1\u05e8 \u05d1\u05d9\u05df OpenProject \u05dc- GitLab . \u05e0\u05d9\u05ea\u05df \u05d0\u05e3 \u05dc\u05d7\u05d1\u05e8 \u05d0\u05d5\u05ea\u05dd \u05dc- GitLab CI\/CD \u05dc\u05e6\u05e8\u05db\u05d9 \u05d0\u05d5\u05d8\u05d5\u05de\u05e6\u05d9\u05ea \u05d1\u05d3\u05d9\u05e7\u05d5\u05ea\/\u05d1\u05e0\u05d9\u05d5\u05ea\/\u05d4\u05e4\u05e6\u05d4<\/li>\n<li>\u05e0\u05d9\u05ea\u05df \u05d2\u05dd \u05dc\u05e9\u05db\u05dc\u05dc \u05d0\u05ea \u05d4\u05d0\u05d9\u05e0\u05d8\u05d2\u05e8\u05e6\u05d9\u05d4 \u05d5\u05dc\u05e4\u05ea\u05d7 \u05d0\u05d5\u05d8\u05d5\u05de\u05e6\u05d9\u05d5\u05ea \u05dc- use cases \u05e1\u05e4\u05e6\u05d9\u05e4\u05d9\u05d9\u05dd (\u05dc\u05de\u05e9\u05dc \u05d4\u05d5\u05e1\u05e4\u05ea \u05e7\u05d9\u05e9\u05d5\u05e8 \u05d0\u05d5\u05d8\u05d5\u05de\u05d8\u05d9 \u05d1- OpenProject \u05db\u05d0\u05e9\u05e8 \u05de\u05e6\u05d9\u05d9\u05e0\u05d9\u05dd Task-id \u05d1\u05e6\u05d3 \u05e9\u05dc GitLab). \u05e2\u05dc \u05db\u05da \u05e0\u05db\u05ea\u05d5\u05d1 \u05d0\u05d5\u05dc\u05d9 \u05d1\u05d4\u05de\u05e9\u05da (\u05d4\u05e6\u05d8\u05e8\u05e4\u05d5 \u05dc\u05e8\u05e9\u05d9\u05de\u05d4 \u05dc\u05de\u05d8\u05d4 \u05db\u05d3\u05d9 \u05dc\u05e2\u05e7\u05d5\u05d1 \u05d0\u05d7\u05e8 \u05e2\u05d3\u05db\u05d5\u05e0\u05d9\u05dd)<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<div class=\"alm-box alm-contact\">\n<div dir=\"rtl\"><em>\u05d7\u05d1\u05e8\u05ea ALM-Toolbox \u05de\u05e6\u05d9\u05e2\u05d4 \u05e4\u05ea\u05e8\u05d5\u05e0\u05d5\u05ea \u05de\u05e7\u05e6\u05d4 \u05dc\u05e7\u05e6\u05d4 \u05d1\u05ea\u05d7\u05d5\u05de\u05d9 ALM, Kubernetes, DevOps, \u05d5\u05d1\u05e4\u05e8\u05d8 OpenProject, Jira, GitLab, Jenkins , \u05d1\u05e0\u05d9\u05d9\u05ea \u05e1\u05d1\u05d9\u05d1\u05d5\u05ea \u05e4\u05d9\u05ea\u05d5\u05d7 \u05d5\u05d1\u05d3\u05d9\u05e7\u05d5\u05ea \u05d5\u05d4\u05e2\u05d1\u05e8\u05ea\u05dd \u05dc\u05e7\u05d5\u05e0\u05d8\u05d9\u05d9\u05e0\u05e8\u05d9\u05dd \u05d5\u05dc\u05e2\u05e0\u05df, \u05de\u05d9\u05d2\u05e8\u05e6\u05d9\u05d4 \u05d1\u05d9\u05df \u05db\u05dc\u05d9\u05dd, \u05d4\u05d3\u05e8\u05db\u05d5\u05ea \u05e2\u05dc \u05d4\u05db\u05dc\u05d9\u05dd, \u05d4\u05ea\u05d0\u05de\u05ea \u05e8\u05d9\u05e9\u05d5\u05d9 \u05dc\u05e6\u05e8\u05db\u05d9 \u05d4\u05dc\u05e7\u05d5\u05d7 \u05d5\u05de\u05db\u05d9\u05e8\u05ea \u05e8\u05e9\u05d9\u05d5\u05e0\u05d5\u05ea \u05ea\u05d5\u05db\u05e0\u05d4 \u05de\u05ea\u05d0\u05d9\u05de\u05d9\u05dd \u05d5\u05e2\u05d5\u05d3.<br \/>\n\u05e9\u05d0\u05dc\u05d5\u05ea? \u05e0\u05e9\u05de\u05d7 \u05dc\u05e2\u05e0\u05d5\u05ea \u05e2\u05dc \u05db\u05dc \u05e9\u05d0\u05dc\u05d4 &#8211; \u05d0\u05e4\u05e9\u05e8 \u05dc\u05e4\u05e0\u05d5\u05ea \u05d0\u05dc\u05d9\u05e0\u05d5 \u05d1\u05de\u05d9\u05d9\u05dc\u00a0<a href=\"mailto:devops@almtoolbox.com\" target=\"_blank\" rel=\"noopener noreferrer\">devops@almtoolbox.com<\/a> \u05d0\u05d5 \u05d8\u05dc\u05e4\u05d5\u05e0\u05d9\u05ea 072-240-5222<\/em><\/div>\n<p><span style=\"font-weight: 400;\"><strong>\u05d0\u05e0\u05d7\u05e0\u05d5<\/strong>:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">\u05e0\u05d5\u05db\u05dc \u05dc\u05e2\u05d6\u05d5\u05e8 \u05dc\u05db\u05dd \u05dc\u05d4\u05d7\u05dc\u05d9\u05d8 \u05d4\u05d0\u05dd \u05d4\u05db\u05dc\u05d9\u05dd \u05d4\u05d0\u05dc\u05d5 \u05de\u05ea\u05d0\u05d9\u05de\u05d9\u05dd \u05dc\u05e6\u05e8\u05db\u05d9\u05dd \u05e9\u05dc\u05db\u05dd<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">\u05e0\u05d5\u05db\u05dc \u05dc\u05d1\u05e0\u05d5\u05ea \u05d0\u05d9\u05e0\u05d8\u05d2\u05e8\u05e6\u05d9\u05d4 \u05e2\u05d1\u05d5\u05e8\u05db\u05dd \u05d5\u05dc\u05e2\u05d6\u05d5\u05e8 \u05dc\u05db\u05dd \u05dc\u05d4\u05d2\u05d3\u05d9\u05e8 flow \u05e9\u05d9\u05e9\u05dc\u05d1 \u05d0\u05ea \u05db\u05dc \u05d4\u05db\u05dc\u05d9\u05dd \u05d9\u05d7\u05d3, \u05d1\u05d0\u05d5\u05e4\u05df \u05e9\u05de\u05d5\u05ea\u05d0\u05dd \u05d1\u05d3\u05d9\u05d5\u05e7 \u05dc\u05e6\u05e8\u05db\u05d9\u05dd \u05e9\u05dc\u05db\u05dd<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">\u05e0\u05d5\u05db\u05dc \u05dc\u05d4\u05e8\u05d9\u05dd \u05d0\u05ea \u05d4\u05e1\u05d1\u05d9\u05d1\u05d5\u05ea \u05d5\u05e0\u05d5\u05db\u05dc \u05dc\u05d4\u05d3\u05e8\u05d9\u05da \u05d0\u05ea\u05db\u05dd \u05d1\u05e9\u05d9\u05de\u05d5\u05e9 \u05d5\u05ea\u05e4\u05e2\u05d5\u05dc<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">\u05ea\u05d5\u05de\u05db\u05d9\u05dd \u05d5\u05de\u05d5\u05db\u05e8\u05d9\u05dd \u05e8\u05e9\u05d9\u05d5\u05e0\u05d5\u05ea \u05e9\u05dc \u05e9\u05e0\u05d9 \u05d4\u05db\u05dc\u05d9\u05dd<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">\u05e0\u05d5\u05db\u05dc \u05dc\u05d1\u05e0\u05d5\u05ea \u05dc\u05db\u05dd \u05d0\u05d5\u05d8\u05d5\u05de\u05e6\u05d9\u05d4 \u05e9\u05dc \u05d1\u05d3\u05d9\u05e7\u05d5\u05ea \u05d5\u05d4\u05e4\u05e6\u05d5\u05ea, \u05e2\u05dd CI\/CD \u05e9\u05dc GitLab \u05d5- Jenkins<\/span><\/li>\n<\/ul>\n<div dir=\"rtl\"><\/div>\n<\/div>\n<h3>\u05e7\u05d9\u05e9\u05d5\u05e8\u05d9\u05dd \u05e8\u05dc\u05d1\u05e0\u05d8\u05d9\u05dd:<\/h3>\n<ul>\n<li><a href=\"https:\/\/www.almtoolbox.com\/blog_he\/meet-openproject\/\" target=\"_blank\" rel=\"noopener noreferrer\">\u05db\u05d3\u05d0\u05d9 \u05dc\u05d4\u05db\u05d9\u05e8: OpenProject<\/a><\/li>\n<li>\u05de\u05d0\u05de\u05e8: \u05e1\u05e7\u05d9\u05e8\u05ea <a href=\"https:\/\/www.almtoolbox.com\/blog_he\/gitlab-ci-cd-overview\/\" target=\"_blank\" rel=\"noopener noreferrer\">\u05d4\u05e4\u05d9\u05e6'\u05e8\u05d9\u05dd \u05d4\u05e7\u05d9\u05d9\u05de\u05d9\u05dd \u05d1- GitLab CI\/CD<\/a>\u00a0(\u05e2\u05d1\u05e8\u05d9\u05ea)<\/li>\n<li><a href=\"https:\/\/www.almtoolbox.com\/blog_he\/gitlab-ci-cd-demo-may-2019\/\" target=\"_blank\" rel=\"noopener noreferrer\">\u05d3\u05de\u05d5 \u05d8\u05db\u05e0\u05d9 \u05e9\u05dc GitLab CI\/CD<\/a><\/li>\n<li><a href=\"https:\/\/www.almtoolbox.com\/blog_he\/gitlab-all-features-excel-sheet\/\" target=\"_blank\" rel=\"noopener noreferrer\">\u05e8\u05e9\u05d9\u05de\u05d4 \u05de\u05dc\u05d0\u05d4 \u05e9\u05dc \u05db\u05dc \u05d4\u05e4\u05d9\u05e6'\u05e8\u05d9\u05dd \u05d4\u05e7\u05d9\u05d9\u05de\u05d9\u05dd \u05d1- GitLab , \u05de\u05e1\u05d5\u05d3\u05e8\u05d9\u05dd \u05dc\u05e4\u05d9 <\/a><a href=\"https:\/\/www.almtoolbox.com\/blog_he\/gitlab-all-features-excel-sheet\/\" target=\"_blank\" rel=\"noopener noreferrer\">Edition \u05d5- Category<\/a><\/li>\n<li>\u05de\u05d0\u05de\u05e8: <a href=\"https:\/\/www.almtoolbox.com\/blog_he\/classic-4-for-software-development\/\" target=\"_blank\" rel=\"noopener noreferrer\">&quot;\u05d4\u05e8\u05d1\u05d9\u05e2\u05d9\u05d4 \u05d4\u05e7\u05dc\u05d0\u05e1\u05d9\u05ea&quot; \u05dc\u05de\u05e4\u05ea\u05d7\u05d9 \u05ea\u05d5\u05db\u05e0\u05d4<\/a>\u00a0(\u05e2\u05d1\u05e8\u05d9\u05ea)<\/li>\n<li><a href=\"https:\/\/www.almtoolbox.com\/blog_he\/our-training-catalog\/\" target=\"_blank\" rel=\"noopener noreferrer\">\u05e8\u05e9\u05d9\u05de\u05ea \u05e7\u05d5\u05e8\u05e1\u05d9\u05dd \u05e9\u05d0\u05e0\u05d5 \u05de\u05e2\u05d1\u05d9\u05e8\u05d9\u05dd \u05e2\u05dc GitLab, Bitbucket, git, Jira, Jenkins<\/a><\/li>\n<li>\u05d0\u05ea\u05e8 \u05d4\u05d9\u05e6\u05e8\u05df <a href=\"https:\/\/www.openproject.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">OpenProject<\/a><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u05d1\u05ea\u05e7\u05d5\u05e4\u05d4 \u05d4\u05d0\u05d7\u05e8\u05d5\u05e0\u05d4 \u05d9\u05e9\u05e0\u05d4 \u05d4\u05ea\u05e2\u05e0\u05d9\u05d9\u05e0\u05d5\u05ea \u05d2\u05d5\u05d1\u05e8\u05ea \u05d1\u05db\u05dc\u05d9 \u05e0\u05d9\u05d4\u05d5\u05dc \u05de\u05e9\u05d9\u05de\u05d5\u05ea \u05d0\u05dc\u05d8\u05e8\u05e0\u05d8\u05d9\u05d1\u05d9\u05d9\u05dd\u00a0 \u05dc- Jira \u05d4\u05e2\u05d5\u05d1\u05d3\u05d9\u05dd \u05e2\u05dc \u05e9\u05e8\u05ea \u05e4\u05e8\u05d8\u05d9 (on-premises) \u05d5\/\u05d0\u05d5 \u05d1\u05e2\u05e0\u05df, \u05d5\u05de\u05ea\u05d7\u05d1\u05e8\u05d9\u05dd \u05dc- git \u05d0\u05d5 \u05dc- GitLab. \u05d0\u05d7\u05d3 \u05d4\u05db\u05dc\u05d9\u05dd \u05e9\u05d9\u05db\u05d5\u05dc \u05dc\u05d4\u05ea\u05d0\u05d9\u05dd \u05dc\u05db\u05da \u05d4\u05d5\u05d0 OpenProject &#8211; \u05de\u05d5\u05e6\u05e8 \u05e9\u05d0\u05e0\u05d5 \u05ea\u05d5\u05de\u05db\u05d9\u05dd \u05d1\u05d5 \u05d5\u05de\u05e9\u05de\u05e9\u05d9\u05dd \u05d2\u05dd \u05db\u05e0\u05e6\u05d9\u05d2 \u05d4\u05e8\u05e9\u05de\u05d9 \u05e9\u05dc \u05d4\u05d9\u05e6\u05e8\u05df \u05d1\u05d9\u05e9\u05e8\u05d0\u05dc \u05d5\u05d1\u05d7\u05d5&quot;\u05dc. \u05d1\u05de\u05d0\u05de\u05e8 \u05dc\u05d4\u05dc\u05df \u05d0\u05d3\u05d2\u05d9\u05dd flow \u05d1\u05e1\u05d9\u05e1\u05d9, \u05d4\u05de\u05e9\u05dc\u05d1 \u05d1\u05d9\u05df \u05e9\u05e0\u05d9 \u05d4\u05db\u05dc\u05d9\u05dd. \u05d6\u05d4\u05d5 flow [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":5974,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[69,111],"tags":[498],"class_list":["post-5972","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-git","category-gitlab","tag-jira-alternative"],"_links":{"self":[{"href":"https:\/\/www.almtoolbox.com\/blog_he\/wp-json\/wp\/v2\/posts\/5972","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.almtoolbox.com\/blog_he\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.almtoolbox.com\/blog_he\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.almtoolbox.com\/blog_he\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.almtoolbox.com\/blog_he\/wp-json\/wp\/v2\/comments?post=5972"}],"version-history":[{"count":0,"href":"https:\/\/www.almtoolbox.com\/blog_he\/wp-json\/wp\/v2\/posts\/5972\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.almtoolbox.com\/blog_he\/wp-json\/wp\/v2\/media\/5974"}],"wp:attachment":[{"href":"https:\/\/www.almtoolbox.com\/blog_he\/wp-json\/wp\/v2\/media?parent=5972"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.almtoolbox.com\/blog_he\/wp-json\/wp\/v2\/categories?post=5972"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.almtoolbox.com\/blog_he\/wp-json\/wp\/v2\/tags?post=5972"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}