• @lmaydev
    link
    44 months ago

    We use a mono repo for a new cloud based solution. So far it’s been really great.

    The shared projects are all in one place so we don’t have to kick things out to a package manager just to pull them back in.

    We use filters in azure pipelines so things only get built if they or dependent projects get changed.

    It makes big changes that span multiple projects effortless to implement.

    Also running a local deployment is as easy as hitting run in the ide.

    So far no problems at all.

    • @[email protected]OP
      link
      fedilink
      English
      14 months ago

      We use filters in azure pipelines so things only get built if they or dependent projects get changed.

      Any guides on how to do this? I know about filtering triggers by where changes happens, but how do dependent projects get triggered? Is that a manually maintained list or is that something automatic? I mostly use Gitlab, but am curious how Azure Pipelines would do it.

      Anti Commercial-AI license

      • @lmaydev
        link
        2
        edit-2
        4 months ago

        You have a list of filters like “src/libs/whatever/*” if there is a change the pipeline runs.

        I wrote a tool that automatically updates these based on recursive project references (c#)

        So if any project referenced by the service (or recursively referenced by dependencies) changes the service is rebuilt.

          • @lmaydev
            link
            14 months ago

            No it relies on the c# project files. It looks for all projectreference tags in the projects file and recursively grabs all of them and turns them into filters.